在面向Windows XP的Windows 10上构建OpenCV 3.4.1

时间:2018-04-06 10:02:53

标签: visual-studio opencv windows-xp cmake-gui

我有一个使用OpenCV库的应用程序。此应用程序必须安装在运行Windows XP 32位的旧PC上。运行应用程序时出现错误:

  

Kernel32.dll无法导入InitializeCriticalSectionEx

根据我的搜索,为了解决这个问题,我必须告诉编译器,通过将变量_WIN32_WINNT设置为0x0501,可以在Windows XP上使用该库。我正在尝试应用this entry in github中找到的解决方案,但我对编译器不太熟悉,而且我很难找到文件CMAKE_CXX_FLAGSCMAKE_C_FLAGS。任何人都可以解释我到底要修改的文件吗?

我在Windows 10上使用Visual Studio 2017和Cmake。

1 个答案:

答案 0 :(得分:1)

我尝试在Visual Studio中使用工具集v140_xp,但没有成功。在一天结束时,我得到了一台装有Windows XP的旧PC,安装了Visual Studio 10并尝试编译。问题是最新版本(3.4.1)不能为Windows XP编译。 AFAIK,最新版本的OpenCV编译为XP是3.2。可能有可能使用v140_xp工具集在Windows 10上进行交叉编译,但我没有尝试,因为我已经使用Visual Studio 10获得了旧的XP。