Win10下Visual Studio 2019编译兼容Win7/XP的OpenCV4程序问询
VS2019编译OpenCV4程序兼容Windows 7/XP配置方案
兼容性结论
- 可以生成支持Windows 7运行的可执行文件
- VS2019默认工具集已不支持Windows XP,如需兼容XP需使用v141_xp兼容工具集,且只能使用OpenCV 3.4及更早版本(OpenCV4起已正式停止Windows XP支持)
具体配置步骤
1. 修正Windows版本宏定义顺序
你当前的宏定义顺序错误,因此无法生效。正确写法需要将版本宏定义放在所有头文件包含的最开头,再引入SDK头文件:
#define _WIN32_WINNT 0x0601 // 0x0601对应Windows 7版本标识 #include <winsdkver.h> #include <sdkddkver.h> // 后续再放置其他头文件包含逻辑(如OpenCV、标准库头文件等)
如果需要兼容XP,将_WIN32_WINNT值修改为0x0501即可。
2. 调整VS项目属性配置
- 平台工具集:使用v142(VS2019默认工具集)即可,如需兼容XP请选择v141_xp工具集
- 目标平台版本:选择
Windows 8.1,不要选择Windows 10系列SDK - 运行库配置:路径为「项目属性→C/C→代码生成→运行库」,Debug版选择
多线程调试(/MTd)、Release版选择多线程(/MT),可免除目标机器安装VC可再发行组件的要求;如果选择动态运行库(/MDd、/MD),需确保目标机器安装对应版本的VC++ Redist - 子系统版本配置:路径为「项目属性→链接器→系统→子系统版本」,填写
6.01(对应Windows 7版本号),兼容XP请填写5.01
3. 重新编译OpenCV4源码
官方提供的预编译OpenCV4包默认是基于Windows 10 SDK编译的,本身调用了Win7不存在的系统API,直接链接必然会出现运行错误。你需要按照上述Win7兼容配置,自行从OpenCV官方源码编译出支持Win7的库文件,再替换项目中引用的OpenCV库即可解决运行报错问题。
内容的提问来源于stack exchange,提问作者Alex M
相关产品推荐
相关产品推荐

