【问题标题】:Using a C++ Library (built using Visual C++ 2010) in a Windows 8 Store app (built using Visual C++ 2012)在 Windows 8 应用商店应用程序(使用 Visual C++ 2012 构建)中使用 C++ 库(使用 Visual C++ 2010 构建)
【发布时间】:2012-12-30 06:55:59
【问题描述】:

我有一个使用 VC++ 2010 构建的 C++ 库。我有该库的标头、导入库和 DLL。我想在我尝试使用 VC++ 2012 构建的 Windows 8 Store 应用程序中使用这个库。我的应用程序在我的本地机器上运行良好,但是当我尝试在远程 Windows 8 设备上运行这个应用程序时,应用程序无法加载.我做错了什么?

【问题讨论】:

    标签: visual-studio-2010 visual-c++ windows-8 visual-studio-2012


    【解决方案1】:

    您不能在 Windows 8 应用商店应用中使用使用旧版 Visual Studio(早于 Visual Studio 2012)构建的 C++ 二进制文件。

    原因是因为使用 Visual Studio 2010 构建的二进制文件将依赖于 Visual Studio 2010 中的 C++ 运行时 DLL。而您的应用程序的其余部分是使用 Visual Studio 2012 编写的,因此它将依赖于Visual Studio 2012 中的 C++ 运行时 DLL。后者可从 Windows 应用商店自动获取(阅读 this 了解更多详细信息)。但是前者在 Windows 应用商店中不可用。此外,您的应用无法表达对 VC2010 运行时的依赖。在应用程序包中包含 VC2010 运行时 DLL 也将不起作用,因为该包将在商店上传时被拒绝。

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

    【讨论】:

    • 嗯,不是真的。使用 /MT 而不是 /MD 进行编译。或者在应用包中包含 msvcr100.dll。
    • VC10 DLL 不符合 WACK,因此应用程序包将在包上传时被拒绝。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2010-12-11
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多