【问题标题】:Opencv 3.0.0 installation with contrib-modules使用 contrib-modules 安装 Opencv 3.0.0
【发布时间】:2015-02-10 02:02:29
【问题描述】:

我有一台 64 位计算机上的 Windows 8.1 PC。我已经从没有 opencv_contrib 的源代码安装了 OpenCV 3.0.0。按照berak的回答- Nonfree module is missing in OpenCV 3.0,我下载了 contrib 并尝试再次从源代码构建 opencv,但这次打开了 OPENCV_EXTRA_MODULES 选项。

然而,在这个构建过程中,VS 编译器出现了奇怪的错误。它们来自文件

\modules\line_descriptor\src\binary_descriptor.cpp

错误如下行号如下。

  1. 错误 C2143:语法错误:缺少 ';'在'='之前 E:\opencv\opencv-master\opencv_contrib-master\modules\line_descriptor\src\binary_descriptor.cpp 第833行

  2. 错误 C2059:语法错误:'>' 第 836 行

  3. 错误 C2143:语法错误:缺少 ';'在 '{' E:\opencv\opencv-master\opencv_contrib-master\modules\line_descriptor\src\binary_descriptor.cpp 第 837 行之前

  4. 错误 LNK1104:无法打开文件 '....\lib\Debug\opencv_line_descriptor300d.lib' E:\opencv\opencv-master\build\modules\line_descriptor\LINK opencv_test_line_descriptor

  5. 错误 7 错误 MSB3073:命令“setlocal "C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake 如果 %errorlevel% neq 0 转到 :cmEnd :cm结束 endlocal & 调用 :cmErrorLevel %errorlevel% & goto :cmDone :cmErrorLevel 退出 /b %1 :cm完成 如果 %errorlevel% neq 0 转到 :VCEnd :VCEnd" 以代码 1 退出。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 INSTALL

【问题讨论】:

  • 好吧,line_descriptor 模块也不适合我。尝试禁用它(cmake ... -DBUILD_opencv_line_descriptor=OFF)并重新运行 cmake
  • 你能告诉我如何通过 cmake-gui 来做吗?
  • 好的。知道了。你能招募其他不起作用的模块吗?这样我也可以避免构建这些。
  • 嗯,我使用的是过时的 32 位版本,因此我们的里程可能会有所不同(以及某些工作与否的原因)。 adas 应该被禁用(那里没有模块代码),cvv 需要 qt,saliency 这里也有问题,我没有 matlab ..

标签: opencv visual-studio-2012 build


【解决方案1】:

几周前我遇到了同样的问题。我是这样解决的:

编辑 \modules\line_descriptor\src\binary_descriptor.cpp

并将这一行放在定义之后:

#undef near

再次运行 cmake(使用 -DBUILD_opencv_line_descriptor=ON)

我禁用的是:_cvv 和 _world

【讨论】:

    猜你喜欢
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多