首页 > 编程知识 正文

cmake菜鸟教程,安卓wps精简版本地版

时间:2023-05-03 15:33:00 阅读:27874 作者:2341

cmake使用教程正文主要参考《CMake+Pratice》文章,出现版权问题请联系作者删除。 作者在网上发现关于cmake的中英文资料很少,于是有了整理cmake入门教程的想法。 如果您需要深入了解cmake的各种命令,建议您在现有项目中学习。 在介绍本文的cmake内容之前,本文将整个教程分为七篇文章。

一、初识cmake官网: www.cmake.org

好处:

1、开放源代码,允许使用类BSD分发。

2、跨平台,本地编译配置文件、linux/Unix平台、makefile、苹果平台Xcode、windows平台MSVC工程文件

3、能管理大项目。

4、简化编译构建流程和编译流程。 cmake的工具链: cmake make。

5、高效。 因为cmake在工具链中没有libtool。

6、可以扩展,可以为cmake创建特定功能的模块,以扩展cmake的功能。

缺点:

1、cmake只是看起来简单,使用起来不简单;

2、每个项目使用一个CMakeLists.txt (每个目录一个),使用cmake语法。

3、cmake与现有体系合作并不是什么特殊理想,如pkgconfig。

二、cmake下载安装: centos7yum-y安装cmake

三、cmake的helloworld 1,准备工作首先在/backup/cmake下做好第一个练习目录t1。 在t1下添加两个文件: main.c和CMakeLists.txt。 内容如下。

2、开始构建命令: cmake。

成功包括:

可以看到以下文件是自动生成的

包括中间文件,如CMakeCache.txt、CMakeFiles、cmake_install.cmake和Makefile。

命令: make

可以使用PS:makeverbose=1查看make构建的详细进程。

此时光晕已经生成。

命令:/hello

以上是cmake构建的所有过程。

3、CMakeLists.txt详细说明:

项目[项目名称[ cxx ] [ c ] [ Java ]可以使用此命令定义项目名称,并指定项目支持的语言。 支持的语言列表可以忽略,默认情况下支持所有语言。 此命令隐式定义两个cmake变量。

可以使用两个变量: project name _ binary _ dir project name _ source _ dir。 这样就不用担心弄错项目名称了。

project _ binary _ dir project _ source _ dirset (var [ value ] [ cachetypedocstring [ force ] ] )其中,表示可以通过set命令显示的定义变量这里是

如果有多个set(src_listmain.c )源文件,也可以定义为:

set(src_listmain.CT1.CT2.c ) message ([ send _ error ] status ] ' message ' )该命令使终端向用户发送

SEND_ERROR#发生错误,生成进程被跳过。 STATUS#输出前缀--d的信息。 FATAL_ERROR#将立即终止所有cmake进程。 add _ executable (hello $ { src_list } )定义hello的可执行文件,该文件是在src _ list中定义的源文件的列表。

此示例可以简化为CMakeList.txt,如下所示

项目(hello ) add_executable ) Hellomain.c ) 4,基本语法规则使用${}方法获取变量的值,而IF语句直接使用变量名称。

命令(参数1参数2 …) )。

参数之间用空格或分号分隔。 如果添加函数fun.c

add_exetable(Hellomain.c; fun.c )命令与大小写无关,参数和变量与大小写相关。 但是,建议全部使用大写的命令。

5、语法混乱可以使用双引号“”包含源文件。 特别是对于难以使用的名称,例如fun c.c,使用set(src_list'func.c ' )可以防止错误。

6、清理工程可以使用make clean清理makefile生成的中间文件,但不能使用make distclean清理cmake生成的中间件。 如果需要删除cmake中间件,可以使用rm -rf *删除中间件。

7、外部构建在目录下生成build文件保存cmake生成的中间件,但需要使用cmake …运行。 在外部编译的情况下,PROJECT_SOURCE_DIR仍然指向工程路径,即/backup/cmake/t1,而PROJECT_BINARY_DIR指向编译路径,即

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。