Ubuntu配置darknet出现的错误

昨天在新机器上配置好了cuda和opencv,于是想在新机器上跑一下yolo,使用我之前用过的darknet,GitHub上下载下来之后,修改为gpu版本的,然后直接make,但是出现一个令人崩溃的错误:fatal error:opencv/opencv.hpp:no such file or directory,查了好久终于找到了答案,现记录一下。
image
错误长这样,图片来自网络,侵删。

解决方案:
sudo apt install libopencv-dev
安装完成之后再次进行make以为要成功了,结果又有了一个新的bug(说好的成功呢555)。又找了半天,终于找到了解决办法:
错误信息:

./src/network_kernels.cu(706): error: identifier "cudaStreamCaptureModeGlobal" is undefined
./src/network_kernels.cu(706): error: too many arguments in function call

2 errors detected in the compilation of "/tmp/tmpxft_00005390_00000000-6_network_kernels.cpp1.ii".

原因在于darknet在之前的一次更新后,貌似与CUDA 10.0版本不兼容,而我正好下的CUDA 10.0,:(。于是在git clone的目录下退回之前的版本就行。

git checkout 64efa721ede91cd8ccc18257f98eeba43b73a6af
make clean
make

终于大功告成。真不容易!

Reference
最后,感谢 ccccxxxxcccc,aldisio两位大神提供的解决办法。

posted @ 2021-04-22 21:40  real010  阅读(2292)  评论(2编辑  收藏  举报