Cmake工程编译

参考 https://www.cnblogs.com/LiuSY/p/5808210.html
工程GMS-Feature-Matcher-master
需要opencv
1、直接编译,报错,如下图
在这里插入图片描述

在这里插入图片描述
2、根据提示上图报错,找不到OpenCVConfig.cmake文件,且错误说set OpenCV_DIR,如下图设置了OpenCV_DIR,这下面
在这里插入图片描述
在这里插入图片描述
/***题外补充/
需要找变量${OpenCV_INCLUDE_DIRS} ${OpenCV_LIBS}
两个工程之间是通过cmake通信的,GMS-Feature-Matcher-master需要opencv的头文件和库文件,因此在opencv的build好的下找OpenCVConfig.cmake
在这里插入图片描述
如上图,opencv的OpenCVConfig.cmake里定义了GMS-Feature-Matcher-master中Cmakelist中的变量OpenCV_INCLUDE_DIRS, OpenCV_LIBS
GMS-Feature-Matcher-master添加路径设置,如下图,这样子两个工程之间由cmake连接
在这里插入图片描述
/*********题外补充完结/

3、2中修改完,再cmake-gui重新编译,出错如下:
在这里插入图片描述
因为当时编译opencv时, opencv_hdf文件没有build成功。为了解决这个问题,注释掉install/下所有cmakeconfige的hdf,注意是所有!
注释文件
在这里插入图片描述
在这里插入图片描述
4、3修改完后,重新编译,报错:
在这里插入图片描述
因此再注释掉相应文件中的opencv_hdf,具体如下:
在这里插入图片描述
在这里插入图片描述

5、4完后,报错如下,当时为了备份,copy了副本
在这里插入图片描述
6、删掉这些副本,再次编译
在这里插入图片描述
成功了,但还有红色,再次confige,如下图:
在这里插入图片描述

成功,如下图:
在这里插入图片描述

然后,generator,如下图:
在这里插入图片描述
成功了,如下图:
在这里插入图片描述

7、生成成功后,查看如下路径:
在这里插入图片描述
打开.sln,右击ALL_BUILD-生成,如下图
在这里插入图片描述

生成完毕,如下图
在这里插入图片描述

7,运行exe
在这里插入图片描述
运行exe后报错,如下,可能是数据加载路径,exe会根据相对路径加载,.cpp为…/data/“0.jpg”,因此将data文件夹拷贝到与exe满足相对路径的位置
在这里插入图片描述

拷贝data后,如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190409235827430.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5MjMwMzQ5,size_16,color_FFFFFF,t_70
在这里插入图片描述
8、7修改完后,再次运行exe后报错,缺少…dll,从opencv build好的路径下拷贝相应dll到GMS 的debug下,当时为了方便全拷贝了。注意:运行exe时,程序会从环境变量里的opencv…/bin,sys32,还有exe所在同级目录下找需要的opencv的dll,
在这里插入图片描述
GMS 的debug
在这里插入图片描述

9、再次运行exe,终于成功了
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章