在 MSVC 2012 中为 Win XP 构建 c++ 项目
Building c++ project for Win XP in MSVC 2012
我有一个控制台应用程序,我需要在Windows XP上使用。此外,我正在使用MSVC 2012作为IDE。问题是,当我在 Win XP (SP3( 上运行它时,我收到错误消息,指出此应用程序不是有效的 win32 应用程序。
上级:
在谈到了对这个问题的评论中的建议之后,我更新了我的问题。
什么使用我的应用程序:
- Urlmon.h/urlmon.lib
- boost::p rogram_options
- C++11 的正则表达式
我已经尝试过:
- 构建测试应用程序,如"Hello, World!它适用于目标Win XP
- 将 MSVC 2012 更新 3 和更新 3 修订版安装到目标计算机
- 使用静态链接生成应用 (/MT(
依赖关系查看器显示 3 条消息:
- 缺少WER.dll
- 缺少 IESHIMS.dll
- 未解析的 C 函数"WNetRestoreConnectionA">
据我所知,依赖项walker中列出的任何内容都不会影响我的应用程序,但它仍然无法加载并显示错误"不是有效的win32应用程序"。
有人知道为什么吗>
v110_xp工具集自动指定子系统的 MRV("5.1"(WindowsXP((,但不指定子系统
这就是问题所在。我在项目设置中将子系统设置为"/SUBSYSTEM:CONSOLE",并且目标Win XP消失了。感谢大家的评论。
据我所知,MSVC 2012工具集不支持Windows XP。但是,您可以在 IDE 2012 中使用 MSVC 2010 工具集。或者使用工具集v110_xp Forom Visual Studio 2012 Update 1(我没有尝试过(。
此链接可能会有所帮助
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx?Redirected=true
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 用CMake构建C++协议
- Mingw-64 在构建和安装后不会编译 openCV 代码