我需要帮助来编译那段code:
它有一些我的项目需要的东西,但是我不能编译它。
我按照there的说明从源代码编译了整个“OpenCV”库:
但是有个大问题:
1-包含文件的"opencv2/stitching"目录中没有子目录“detail”(源文件中有一个子目录,而/usr/local/include/opencv2/stitching中的编译版本中没有)。
2-在当前版本的示例中,在stitching_detailed.cpp中,对此没有任何修改!
另外,我在编译时没有任何错误...对于未使用的变量只有警告...
更多信息:
所以,我用它来编译:

但是opencv_stitching有很多错误,例如:

有没有办法删除对opencv_gpu的依赖关系?因为我现在唯一的问题是由此引起的!
重要:
在配置中,指定我要在不使用CUDA的情况下编译OpenCV,显然我具有以下第三方信息:

最佳答案

之所以会出现此错误,是因为您在不支持CUDA的情况下编译了库,并且有一些函数需要它。
编译器正在尝试链接cv::gpu函数,如果在CMAKE解决方案生成过程中不使用CUDA标志,则不会在编译的库中添加它们。
为避免此行为,您有两种选择:

  • 用CUDA标志重新编译OpenCV。 (您将需要安装所有CUDA
    首先依赖)
    :
  • 从示例代码中删除所有cv::gpu调用。

  • 如果您在Windows环境中,则可以轻松下载具有cuda支持的预编译库并测试代码。如果您不支持CUDA,则代码可能会在cv::gpu函数期间崩溃。

    第二个选项很容易做到。该代码已使用命名空间cv声明,因此您只需要查找所有gpu::( function_name)调用并将其擦除。请注意不要使用--try_gpu参数,因为我没有阅读所有代码,这可能会在执行期间调用一些未定义的行为。

    10-08 08:12
    查看更多