在 Windows 10 上针对 Windows XP 构建 OpenCV 3.4.1
Building OpenCV 3.4.1 on Windows 10 targeting Windows XP
我有一个使用 OpenCV 库的应用程序。此应用程序必须安装在旧 PC 运行 Windows XP 32 位上。当 运行 应用程序出现错误时:
Kernel32.dll unable to import InitializeCriticalSectionEx
根据我的搜索,要解决此问题,我必须通过将变量 _WIN32_WINNT
设置为 0x0501
来告诉编译器该库将在 Windows XP 上使用。我正在尝试应用在 this entry in github 中找到的解决方案,但我对编译器不是很有经验,而且我很难找到文件 CMAKE_CXX_FLAGS
和 CMAKE_C_FLAGS
。谁能准确解释我必须修改的文件?
我在 Visual Studio 2017 和 Windows 10 上使用 Cmake。
我尝试在 Visual Studio 中使用工具集 v140_xp,但没有成功。最后,我得到了一台装有 Windows XP 的旧 PC,安装了 Visual Studio 10 并尝试编译。问题是最新版本 (3.4.1) 无法为 Windows XP 编译。 AFAIK,为 XP 编译的最新版本的 OpenCV 是 3.2。可能可以使用 v140_xp 工具集在 Windows 10 上交叉编译它,但我没有尝试,因为我已经有了带有 Visual Studio 10 的旧 XP。
我有一个使用 OpenCV 库的应用程序。此应用程序必须安装在旧 PC 运行 Windows XP 32 位上。当 运行 应用程序出现错误时:
Kernel32.dll unable to import InitializeCriticalSectionEx
根据我的搜索,要解决此问题,我必须通过将变量 _WIN32_WINNT
设置为 0x0501
来告诉编译器该库将在 Windows XP 上使用。我正在尝试应用在 this entry in github 中找到的解决方案,但我对编译器不是很有经验,而且我很难找到文件 CMAKE_CXX_FLAGS
和 CMAKE_C_FLAGS
。谁能准确解释我必须修改的文件?
我在 Visual Studio 2017 和 Windows 10 上使用 Cmake。
我尝试在 Visual Studio 中使用工具集 v140_xp,但没有成功。最后,我得到了一台装有 Windows XP 的旧 PC,安装了 Visual Studio 10 并尝试编译。问题是最新版本 (3.4.1) 无法为 Windows XP 编译。 AFAIK,为 XP 编译的最新版本的 OpenCV 是 3.2。可能可以使用 v140_xp 工具集在 Windows 10 上交叉编译它,但我没有尝试,因为我已经有了带有 Visual Studio 10 的旧 XP。