cmake从入门到放弃

cmake从入门到放弃,第1张

在一个月黑风高的晚上,写了一篇makefile的文章被网友揍了一堆,说这种方式太老了,但是我觉得技术并没有新和旧之分,还是应网友要求写一篇cmake的文章。

CMake是一个跨平台的安装工具渣空,可以用简单的语句来描述所有平台的安装(编译过程)。产生对应的makefile文件。懂cmake,只需配置对应的头文件路径,源文件等参数既可以快速生成对应的Makefile文件,相比Makefile来说语法规则是比较容易的,并且cmake是跨平台的,应用是比较广泛的。

1、编写CMake的配置文件CMakeList.txt

2、创建build目录用来存放cmake生成的临时文件。

3、cd build &&cmake ../ 编译工程

4、make install 将生成的可执行文件安装到对应的目录。

逐行分析:

cmake_minimum_required :羡销设定cmake的最低版本要求

project(Test):将当前工程名字设定为Test,不是可执行文件名

add_executable(main.bin main.c) :设定生成可执行文件名为main.bin 以及编译需要兄梁游的源文件main.c

install:设定编译生成的main.bin安装目录,安装路径为CMakeLists.txt所在目录

Qt5.7.1

CMake 3.10.2

opencv-3.3.0-vc14

右键“我的电脑”——属性——高级系统设置——环境变量,我的型渗路径是C:\Qt\Qt5.7.1\Tools\mingw530_32\bin,如图所示

打开CMake,设置源码的路径和输出路径,然后点击Configure,选择如所示

Next,配置c和c++,我的路径如下

点击Finish,等待加载完毕,暴很多红项

在Search框内搜索WITH_QT和WITH_OPENGL,都打上勾,再点击Configure

此时还有这几项是红的,点击ADD Entry,添加“QT_MAKE_EXECUTABLE”,并选择qmake的路径如图所示

在Search搜索CMAKE_BUILD_TYPE,修改value成  Release 或RelWithDebInfo

再次点击Configure,然后点击Generate

打开cmd命令提示符卜锋脊,进入输出文件夹并编译

这里的8根据自己电脑配置而定,8核cpu  我这里填8

如果编译过程中出现类似这样的错误:

解决办法:在CMake搜索ENABLE_PRECOMPILED_HEADERS,把这个项的打勾去掉,然后点Configure,Generate,再执行编译:ming32-make -j 8

如果遇到类似这样的错误

解决基局办法:根据提示的路径去opencv源码文件找cap_dshow.cpp文件,我的在D:\tmp\opencv\sources\modules\videoio\src文件夹里,用记事本打开cap_dshow.cpp,搜索

然后在上面添加

再次执行编译:ming32-make -j 8

方法同上,把D:\tmp\opencv-build\install\x86\mingw\bin添加到path里

打开Qt,新建一个项目,Qt Widgets Application 

调试

如果出现错误:

解决办法:点击左侧的项目,填好构建目录,如图所示:

修改.pro文件,添加

这里需要注意一下330,有些版本是320

修改完后,点击构建 ,执行qmake

修改mainwindow.cpp

效果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12498934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存