2

上位机图像处理和嵌入式模块部署(cmake的使用)

 7 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/136142551
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        过去我们编写windows程序的时候,习惯上都是直接使用visual studio创建工程开发。而开发linux程序的时候,则是编写好c、cpp代码之后,自己编写makefile来进行编译。要是没有git版本工具,上面的这些开发方法问题不大,但是如果引入了版本管理之后,这么做有的时候可能并不一定合适,因为有可能生成大量的、无用的中间文件。所以,这个时候我们一般引入cmake工具来进行处理。

3ee4d7c10b9c442389c406bc41e6cbbd.png

1、cmake工具可以自动帮助生成编译工具链

        cmake的作用不是直接编译,而是帮助我们生成windows平台的sln文件、linux平台的makefile文件。这些文件如果自己创建或者写的话,很麻烦。但是有了cmake的帮助,就容易很多。

2、cmake支持windows平台和linux平台

        cmake工具不仅仅支持windows平台,还可以支持linux平台。因为,我们在开发的过程当中,两个平台都会用到,所以用cmake来做编译工具的生成是非常合适的。上位机用windows开发,用cmake生成sln;下位机一般是arm平台,用cmake 生成交叉编译的makefile,就是这样。

3、cmake使用比较简单

        不管是windows平台,还是linux平台,cmake的使用都是比较简单的。我们先以windows平台为例,假设有一个hello.cpp代码,

        这个时候有了cpp代码之后,我们就可以创建一个CMakeLists.txt文件,

        此时,如果需要生成sln文件的话,只需要在cmd目录下输入下面这个命令即可,前提是本地已经安装了vs2017,

cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE=debug ../

        输入这条命令之后,本地就会创建sln文件。我们打开对应的sln文件,直接编译即可。如果是linux平台的话,那么就更简单了,直接输入cmake .. 就会生成makefile。在makefile同级目录输入make命令,就可以直接编译了。

4、cmake对git版本工具特别友好

        我们都知道,编译过程中会生成大量的中间文件。很多的中间文件都特别占空间,而且没有意义。这个时候如果项目中仅仅有doc、src、manual、design file、res这些文件的话,整个项目就会显得特别清爽。版本管理也会容易很多。所以说,cmake本身对git一类的版本工具特别友好,特别方便。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK