在 Windows 8.1 应用中使用 Visual C++ 2012 构建的 Windows 8.0 扩展 SDK 组
Using a Windows 8.0 Extension SDK component built using Visual C++ 2012 in a Windows 8.1 app
我有一个使用 Visual Studio 2012 构建的 Windows 8 应用程序。 此应用还使用同样使用 Visual Studio 2012 构建的第三方组件(打包为扩展 SDK)。 由于此组件是使用 C++ 编写的,因此扩展 SDK 依赖于 Microsoft.VCLibs.110.00(Visual C++ 2012 运行时)。
现在,我正在尝试为 Windows 8.1 重建此应用程序。 当我尝试使用 Visual Studio 2013 构建此项目时,我看到以下行为(仅使用 Bing Maps SDK 作为示例,这适用于使用 VS 2012 构建的任何其他 SDK):
Windows
8.1 C++引用 Windows 8.0 扩展 SDK 组件的应用
生成失败,并显示以下错误:
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):警告 MSB3842:"cppapp"项目依赖于 SDK"Bing Maps for C#、C++ 或 Visual Basic v1.113.0601.2",它支持面向"Windows 8.0"的应用。若要验证"Bing Maps for C#、C++ 或 Visual Basic v1.113.0601.2"是否与"Windows 8.1"兼容,请与 SDK 作者联系或参阅 http://go.microsoft.com/fwlink/?LinkID=309181。
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):警告MSB3781:SDK "Bing.Maps.Xaml, Version=1.113.0601.2" 依赖于以下 SDK"Microsoft.VCLibs, version=11.0",这些 SDK 尚未添加到项目中或未找到。请确保将这些依赖项添加到项目中,否则可能会遇到运行时问题。可以通过引用管理器向项目添加依赖项。
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):错误MSB3841:SDK "Bing Maps for C#、C++ or Visual Basic"依赖于 SDK "Microsoft.VCLibs, version=11.0",它与"Windows 8.1"不兼容。请参考支持"Windows 8.1"的 SDK 版本"Bing Maps for C#、C++ 或 Visual Basic"。
引用 Windows 8.0 扩展 SDK 组件的 Windows 8.1 C# 应用
生成失败,并显示以下错误:
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):警告MSB3842:"csharpapp"项目依赖于SDK"Bing Maps for C#, C++, or Visual Basic v1.113.0601.2",它支持面向"Windows 8.0"的应用。若要验证"Bing Maps for C#、C++ 或 Visual Basic v1.113.0601.2"是否与"Windows 8.1"兼容,请与 SDK 作者联系或参阅 http://go.microsoft.com/fwlink/?LinkID=309181。
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):警告MSB3783:"csharpapp"项目依赖于SDK"Microsoft Visual C++运行时包v11.0",该工具包最初是为面向"Windows 8.0"的应用发布的。若要验证"Microsoft Visual C++ 运行时包 v11.0"是否与"Windows 8.1"兼容,请与 SDK 作者联系或参阅 http://go.microsoft.com/fwlink/?LinkID=309181。
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1803,5):错误MSB3841:SDK "Bing Maps for C#、C++ or Visual Basic"依赖于 SDK "Microsoft.VCLibs, version=11.0",它与"Windows 8.1"不兼容。请参考支持"Windows 8.1"的 SDK 版本"Bing Maps for C#、C++ 或 Visual Basic"。
瓦克错误
如果我能够以某种方式继续前进(在更改必应地图 SDK 的 SDKManifest.xml之后),我就可以创建一个应用包。 当我在我的应用程序上运行 WACK 时,出现以下错误:
cppapp 依赖于Microsoft Visual C++ 运行时包 (Microsoft.VCLibs.110.00) 框架,但清单中缺少框架依赖项声明。
有没有人遇到过这些问题。 如果是,那么您如何解决这些问题?
Visual Studio 2013 Update 1(有关详细信息,请参阅此博客文章)解决了这些问题。 它包含适当的修补程序来取消阻止上述方案,并允许使用 VS2013 构建的 Windows 8.1 应用引用标记为 Windows 8 和/或使用 Visual C++ 2012 构建的 SDK。
引用必应地图,应使用适用于 Windows 8.1 的 SDK,而不是适用于 Windows 8 的 SDK。
从这里和这里需要重新编译一个C++包才能与 Windows 8.1 兼容,所以如果它尚未更新并且您无法访问源代码,您将无能为力......
在 C++ 中创作并针对 Windows 8 创建的扩展 SDK 与 Windows 8.1 不兼容。
- 无法使用Qt Creator在Windows中构建yaml-cpp
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 使用 VS2015 在 Windows 10 上构建 Fortran .lib x64 位并将其链接到 C++
- 在Windows 10上使用Visual Studio 2019构建的Tesseract API c ++程序在Wind
- 如何在 Linux for Windows 上通过 MinGW 构建静态 ICU 的 Boost
- meson-build:wxWidgets 资源文件,用于 Windows 未构建
- 使用 MinGW 在 Windows 上构建 GLEW 时遇到问题
- 坚持编译QDoc以在Windows上构建qt5
- MSYS2 MinGW64 在 Windows 上构建 GMP/MPFR 作为静态库,并将它们链接到使用 CL 编译的
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 使用 CMake 在 Windows 10 上构建 uWebSockets
- OpenCV cmake构建总是在Windows中抛出错误
- 如何在Windows上链接动态构建的cmake文件
- gRPC C++如何在Windows 10上构建
- 使用 Bazel (Windows) 构建 Tensorflow 的问题 => 使用 Tensorflow C++ API
- C Linux代码破坏Windows构建,因为缺少标头意味着功能不确定
- node-gip解析windows构建上的外部库符号
- 使用cygwin为windows构建静态库
- Linux和Windows构建的应用程序之间的OpenCV行为差异
- 在Linux上为Windows构建一个应用程序