用IDE配置并运行cmake工程

市面上的c语言编辑器及ide对比

本人使用过的C/C++Ide及编辑器横向对比

clipboard.png

Qtcreater

1.首先配置cmake编译工具链,打开工具-->选项-->Kits
先配置一个编译器,以下图:python

clipboard.png
而后配置cmake路径:c++

clipboard.png
在设备选项卡里增长一个设备:编程

clipboard.png

而后配置编译套件,其中CMake Configuration保持默认便可:
clipboard.png
至此咱们的编译链就配置完成了
2.建立或导入cmake项目:
qtcreater支持自动导入cmakeLists.txt文件或者新建cmakeLists.txt文件来导入或者建立工程:
具体的建立工程的细节就不详细描述了,总之到最后会造成这样一个工程页面:windows

clipboard.png

画红框的地方是项目文件浏览器,点击上面的项目能够选择具体显示的内容,在项目名称上右键就能够选择"执行cmake",而后工程就会执行cmake,进行编译链检查等等,执行完会在4区显示相应提示,在执行cmake以前咱们能够先对项目进行一些处理,点击左侧蓝条的项目按钮,跳转到项目页面:
先进行构建配置,其实没有什么要改的,主要是展现给你们看一眼:浏览器

clipboard.png
再进行运行配置,怎么理解构建和运行呢,其实就有点至关与mdk上的编译和下载,咱们想要下载首先得把文件编译出来,在Qtcreater里面是先构建,再运行,固然怎么个运行方式咱们能够本身定义:缓存

clipboard.png
如上图所示,我本身定义了一个部署方式,用nrfjprog把文件下到芯片中去,各位童鞋本身的具体是什么方式也能够本身写,只要能用cmd运行的都能作到
接下来咱们看看构建和运行的效果:
首先选择执行cmake效果以下(在7.概要信息里查看):
clipboard.png
而后选择菜单栏-->构建-->构建项目或者直接点击左下角的锤子按钮执行构建,构建的效果:编辑器

clipboard.png
咱们能够看到确实生成了一个工程文件,只不过他本身加上了一个exe的后缀,由于是在windows系统上,不免有些小意外,这个不要紧,咱们内心知道这是个elf文件就能够了,而后咱们实际上也不会用这个文件去down到芯片上,最终还得fromelf去转换成hex文件,以下图所示:
clipboard.png
咱们能够看到,编译输出目录确实有一个exe和hex,后面还有htm和map文件,这个是编译以后的副产品,mdk也有,愿意研究的同窗能够研究一下.
再看看运行的效果,前面说了,所谓的运行咱们就是把芯片下到板子上去:ide

clipboard.png

clipboard.png

能够看到,其实就是运行了咱们刚刚在运行那里定义好的指令而已,效果跟一个cmd命令行差很少,而后咱们的程序就运行到板子上去了.工具

CLION

jetBrain公司出品的CLION同时也是一款很流行的c/c++编程IDE,除了收费和占内存在两个缺点其余的跟QTCreater甚至要更好用,由于它的插件库更丰富.
1.首先依然是配置交叉编译链,打开File->Settings界面,配置编译链:
image.png
2.第二步配置编译参数:
image.png
3.第三步是配置下载工具,这里比QTCreater方便的一点是不须要建立一个设备类型,其余的都是同样的,在编译按钮有一项是代表当前编译链和参数的,点击三角箭头既可配置编译下载方式
image.png
点击以后弹出一个新的对话框,点击加号,出现一个列表,这里咱们选择画框的内容,意思是选择一个外部工具来替换原生的下载运行image.png
点击以后会出现一个对话框,添加外部工具,好比我这边建立了一个名为flash的外部工具,顾名思义就是下载固件的意思,点击添加:
image.png
image.png
这里的内容你们都能看懂就不一一说明了,填完全部选项以后就能够关闭,咱们的配置环节就结束了,接下来就是编译下载运行.
首先,就是运行cmake,把makefile创建起来:
image.png
而后就能够看到cmake缓存已经创建了:
image.png
在clion底部信息栏也能够看到有相应信息出现:
image.png
这时候就能够执行编译了,点击绿色的小锤子按钮,开始编译:
image.png
编译完成以后,生成了固件就能够下载运行了,点击绿色的小三角按钮,以前咱们已经把这个"Run"的动做配置成了咱们自定义的工具,因此你会看到这样子:
image.png
到此,咱们的Clion工具也配置完成了spa

基于这种可自定义的构建,部署,运行方式,只要咱们发挥想象力和动手能力,理论上咱们能实现任何一种咱们想实现的效果,至关于咱们本身写了一系列的自动话脚本,只不过不须要咱们本身去手动运行,在QTcreater和Clion上面点点按钮就能够了,这就是比mdk这种ide先进而且方便的地方,咱们作技术的,我总以为不能知足于mdk上点点几下而后芯片就运行了这种大学生才用的方式,咱们本身把这些编译过程,部署这些研究明白,对技术的提高是确定有的,同窗们能够本身去体会.本文完,后续可能会研究一下用python脚本自动将mdk工程转变为cmake工程,或者openOCD在clion以及Qtcreater上面的调试,再到后面就是持续继承与持续部署相关了,敬请关注!

相关文章
相关标签/搜索