编译caffe ssd的坑

2018-07-11  本文已影响0人  cheerss

网上有很多教程,这个不再赘述过程,例如:https://blog.csdn.net/xunan003/article/details/78427446

  1. 编译过程提示找不到<opencv2/opencv.hpp>,是哪个文件不重要,总之是opencv找不到,这个有点烦,Makefile.config里对于其他各种依赖库都是可以手动指定库的位置,可偏偏opencv不行,我的opencv路径是/usr/local/opencv-3.3.1,我选择的解决办法是跑到/usr/include/下建立一个软连接sudo ln -s /usr/local/opencv-3.3.1/include/opencv2 /usr/include/opencv2,然后再设置一下寻找.so文件的路径export LD_LIBRARY_PATH=/usr/local/opencv-3.3.1/lib以及gcc库路径变量export LIBRARY_PATH=/usr/local/opencv-3.3.1/lib就可以顺利编译了

哇!上面的方法太蠢了。其实在Makefile.config中就有INCLUDE_DIRS和LIBRARY_DIRS,相应设置一下就好了,把opencv的头文件和库的路径加到这个最后。

  1. 报错nvcc fatal : Unsupported gpu architecture 'compute_20',主要是我的cuda是9.0+,所以Makefile.config需要有响应修改。要删除这两行(参考:https://blog.csdn.net/kemgine/article/details/78781377)
-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
  1. 报错
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5

我的hdf5在这儿/usr/lib/x86_64-linux-gnu/hdf5/serial,所以要把这个路径加到LIBRARY_DIRS(头文件在/usr/include/hdf5/serial

上一篇下一篇

猜你喜欢

热点阅读