我需要帮助来编译那段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标志,则不会在编译的库中添加它们。
为避免此行为,您有两种选择:
首先依赖):
如果您在Windows环境中,则可以轻松下载具有cuda支持的预编译库并测试代码。如果您不支持CUDA,则代码可能会在cv::gpu函数期间崩溃。
第二个选项很容易做到。该代码已使用命名空间cv声明,因此您只需要查找所有gpu::( function_name)调用并将其擦除。请注意不要使用--try_gpu参数,因为我没有阅读所有代码,这可能会在执行期间调用一些未定义的行为。