【发布时间】:2015-03-03 01:37:41
【问题描述】:
我一直在尝试使用 Visual Studio 2013 在 Windows 7 32 位上构建 OpenCV 2.4.10,这真的很痛苦。我取得了一些成就,但不幸的是它没有 100% 工作。
我想写一本不那么专注于一步一步的小手册 - 当其中一个步骤失败并且您不知道如何到达下一个步骤时,这可能会令人沮丧 - 并且更专注于理解什么是发生在每一步,为什么以及当出现问题时会发生什么。 我请求你的帮助,确定你以前遇到过很多,并且可以解释为什么会这样。 我正在下载 3 以使用 CMake 3.0.2 和 Visual Studio 2013 构建。我将在采取步骤时更新此线程。
我的目标是构建具有 CUDA、TBB 和 OpenGL 支持的 2.4.10。让它发挥作用:)
- 克隆 OpenCV 2.4.10(我在 C:\OpenCV\src\src 使用 TortoiseGit)
- 下载TBB编译
- 在 C:\OpenCV\src\opt\tbb 中解压 TBB
- 在 C:\OpenCV\src 目录中解压 OpenCV 源代码
- 打开 CMake 和目标源目录 C:\OpenCV\src 和构建目录 C:\OpenCV\built
- 首次配置 CMake
- 选择 Visual Studio 12 2013,使用默认本地编译器配置 Win32
- 选择此选项:
- 在 WITH 选项卡下:
- WITH_CUDA(已检查)
- WITH_OPENGL
- WITH_TBB
- 在 WITH 选项卡下:
- 然后再次单击配置...
在这里,找到了 OPENGL 库(opengl32 和 glu32),并出现了第一个缺失的路径(TBB_INCLUDE_DIRS),那些用于 TBB_INCLUDE_DIRS,所以:
- 将该行指向 C:\OpenCV\src\opt\tbb\include 并再次单击配置。
在该配置过程之后,TBB 选项卡显示为红色,其中 LIB_DIR 和 STDDEF_PATH 标签指向我的 TBB 文件夹。
- 再次单击配置以确认更改。
这一次,没有红色的标签,一切似乎都很好。我检查了输出,GUI OpenGL支持设置为Yes,其他第三方库下的Use TBB(ver 4.3 interface 8002)也是如此,所以
- 单击“生成”以生成 Visual Studio 文件
文件生成了,所以
- 打开 Visual Studio 2013 并在 C:\OpenCV\built 打开 OpenCV 解决方案并等待它准备好
选择 Debug,然后选择 Build Solution (Ctrl+Shift+B) 并等待...
在尝试查找核心库时发生第一个错误,因此我重新运行 CMake 进行简单构建,没有 OpenGL、CUDA 或 TBB。 我找到了这个guide:
这指出了我一直遇到的几个问题。现在根据它的建议编译后,我遇到了一个关于 throw_nogpu 的特殊问题,我将寻找它。
【问题讨论】:
标签: opencv opengl windows-7 cuda tbb