我有一个使用OpenCV库的应用程序。此应用程序必须安装在运行Windows XP 32位的旧PC上。运行应用程序时出现错误:
Kernel32.dll无法导入InitializeCriticalSectionEx
根据我的搜索,为了解决这个问题,我必须告诉编译器,通过将变量_WIN32_WINNT
设置为0x0501
,可以在Windows XP上使用该库。我正在尝试应用this entry in github中找到的解决方案,但我对编译器不太熟悉,而且我很难找到文件CMAKE_CXX_FLAGS
和CMAKE_C_FLAGS
。任何人都可以解释我到底要修改的文件吗?
我在Windows 10上使用Visual Studio 2017和Cmake。
答案 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。