fatal error: boostdesc_bgm.i: 没有那个文件或目录

用树莓派安装opencv编译时发生的错误,记录一下。

错误如下

/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src/boostdesc.cpp:646:20: fatal error: boostdesc_bgm.i: 没有那个文件或目录
           #include "boostdesc_bgm.i"
                    ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/build.make:81:modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:14425:modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2

是因为缺少文件导致的需要重新下载

百度网盘:https://pan.baidu.com/s/1T8cutJQiBFFTbMRoB6PNOA

提取码:1111

下载在你的SD卡上 然后插到树莓派上

cd /boot     
ls  

进入boot盘 查看文件是否存在

把这个文件放到/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src 中

sudo cp -r /boot/boostdesc_bgm.i.zip /home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src

解压文件

unzip boostdesc_bgm.i.zip

但我们需要的文件在/src/boostdesc_bgm.i 中不在/src 中

所以我们要转移文件

mv /home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src/boostdesc_bgm.i等/*.i /home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src/

然后到src中ls 检查一下 如果存在就成功了

就可以继续编译了。

注:我在后面遇到了差不多的错误,如下

opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录

/home/pi/Downloads/opencv-3.4.0/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:12: 
fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
 #  include "opencv2/xfeatures2d/cuda.hpp"
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/build.make:63:modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/opencv_stitching_pch_dephelp.cxx.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:17840:modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2

他的意思是你的matchers.hpp文件里面的

头文件include“opencv2/xfeatures2d/cuda.hpp”找不到cuda.hpp这个文件。

然后你去查询cuda.hpp的具体位置把相对路径改一下改为:

/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp

注意:

原本:

include“opencv2/xfeatures2d/cuda.hpp”

改之后:include“/home/pi/Downloads/opencv_contrib3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp“

”后面多一个/ 别看错了。

注:

错误如下:

c++: error: unrecognized command-line option ‘--param=ipcp-unit-growth=100000’; did you mean ‘--param=ipa-cp-unit-growth=’?

c++: error: unrecognized command-line option ‘--param=ipcp-unit-growth=100000’; 
did you mean ‘--param=ipa-cp-unit-growth=’?

make[2]: *** [3rdparty/carotene/hal/carotene/CMakeFiles/carotene_objs.dir/build.make
:82:3rdparty/carotene/hal/carotene/CMakeFiles/carotene_objs.dir/src/absdiff.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:4565:3rdparty/carotene/hal/carotene/CMakeFiles/carotene_objs.dir/all] 错误 2
make: *** [Makefile:182:all] 错误 2

他的意思是 他不认识 ‘--param=ipcp-unit-growth=100000’

他猜可能是 ‘--param=ipa-cp-unit-growth=’

然后你到 build.make 文件里面把所有"ipcp"改为"ipa-cp",注意不要一个一个换,因为实在太多了。

:%s/param=ipcp-unit-growth/param=ipa-cp-unit-growth/g

vim全部替换。

猜你喜欢

转载自blog.csdn.net/qq_51679917/article/details/129481520