Visual studio 2010 使用C++;Windows 8应用商店应用程序中的库(使用Visual C+;和#x2B;2010构建)(使用Visual C+;和#x2B;2012构建) 我有一个用VC++ 2010构建的C++库。我有这个库的头、导入库和DLL。我想在我尝试使用VC++2012构建的Windows 8应用商店应用程序中使用此库。我的应用在本地计算机上运行正常,但当我尝试在远程Windows 8设备上运行此应用时,该应用无法加载。我做了什么?< < /P> > p>你不能使用在Windows 8商店应用程序中使用旧版本的VisualStudio(比Visual Studio 2012更老)构建的C++二进制文件。

Visual studio 2010 使用C++;Windows 8应用商店应用程序中的库(使用Visual C+;和#x2B;2010构建)(使用Visual C+;和#x2B;2012构建) 我有一个用VC++ 2010构建的C++库。我有这个库的头、导入库和DLL。我想在我尝试使用VC++2012构建的Windows 8应用商店应用程序中使用此库。我的应用在本地计算机上运行正常,但当我尝试在远程Windows 8设备上运行此应用时,该应用无法加载。我做了什么?< < /P> > p>你不能使用在Windows 8商店应用程序中使用旧版本的VisualStudio(比Visual Studio 2012更老)构建的C++二进制文件。,visual-studio-2010,visual-c++,windows-8,visual-studio-2012,Visual Studio 2010,Visual C++,Windows 8,Visual Studio 2012,之所以如此,是因为使用VisualStudio 2010构建的二进制文件将依赖VisualStudio 2010的C++运行时DLL。而应用程序的其余部分是使用VisualStudio 2012编写的,因此它将依赖VisualStudio 2012的C++运行时DLL。后者在Windows应用商店中自动可用(有关详细信息,请阅读)。但是,前者在Windows应用商店中不可用。此外,您的应用程序无法表示对VC2010运行时的依赖。在应用程序包中包含VC2010运行时DLL也将不起作用,因为在商店上

之所以如此,是因为使用VisualStudio 2010构建的二进制文件将依赖VisualStudio 2010的C++运行时DLL。而应用程序的其余部分是使用VisualStudio 2012编写的,因此它将依赖VisualStudio 2012的C++运行时DLL。后者在Windows应用商店中自动可用(有关详细信息,请阅读)。但是,前者在Windows应用商店中不可用。此外,您的应用程序无法表示对VC2010运行时的依赖。在应用程序包中包含VC2010运行时DLL也将不起作用,因为在商店上载时该包将被拒绝


因此,最好的选择是严格使用Visual Studio 2012为您的Windows 8应用商店应用程序构建所有源代码。

嗯,不是这样。使用/MT而不是/MD编译。或者在应用程序包中包含msvcr100.dll。VC10 dll不符合WACK要求,因此应用程序包将在包上载时被拒绝。