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

解决方案:
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两位大神提供的解决办法。

相关文章:

  • 2021-12-08
  • 2021-06-06
  • 2021-11-11
  • 2021-05-08
  • 2022-12-23
  • 2021-12-27
  • 2021-09-09
  • 2021-09-22
猜你喜欢
  • 2021-11-10
  • 2021-11-12
  • 2021-10-04
  • 2022-01-10
  • 2021-09-11
  • 2021-12-20
  • 2022-01-07
相关资源
相似解决方案