Cmake

CMake是一个跨平台的构建系统,常用于C和C++项目。通过cmake_minimum_required和project指令设定项目基础,add_executable将源代码编译成可执行文件。文章还介绍了如何引入库,包括find_package、add_library以及target_link_libraries等命令,用于链接库文件并管理项目依赖。
摘要由CSDN通过智能技术生成

一、概念

CMake是一个构建系统,可以用于构建跨平台的C和C++项目,node.js中常用Cmake作为许多C和C++的第三方库构建系统。

二、将源代码构建成可执行文件

cmake_minimum_required(VERSION 3.10) //指定运行此配置文件所需的 CMake 的最低版本

project(项目名) //设置项目名 

add_executable(可执行文件名 xxx.cc) //将xxx.cc 的源文件编译成为一个可执行文件

三、引入库到项目中

find_package(库名 REQUIRED/COMPONENTS)
//批量引入库文件和头文件
//REQUIRED:必须找到该库,找不到就报错
//COMPONENTS:从库中找子库(模块)xx

add_library(项目名 库的类型 xxx.cpp)
//使用指定的源文件向工程添加一个目标库 
//就是将指定的源文件生成链接文件,然后添加到工程中去
//库的类型 TATIC(静态库)/SHARED(动态库)/MODULE(模块库) 
//会根据STATIC或SHARED成为name.a或name.lib

 set_target_properties(target1 ...PROPERTIES prop1 value1...)
//一个目标设置属性。该命令的语法是列出所有你想要变更的文件,然后提供你想要设置的值
//影响一个目标输出文件的名字的属性,PREFIX和SUFFIX属性覆盖了默认的目标名前缀和后缀

target_include_directories(<target> [SYSTEM] [AFTER|BEFORE]  <INTERFACE|PUBLIC|PRIVATE> [items1...]..)
//AFTER或BEFORE
可以选择让添加的路径位于搜索列表的开头或结尾。缺省时,默认是AFTER。
INTERFACE,PUBLIC,PRIVATE
指定接下来的参数item(即路径)的作用域:
    INTERFACE target对应的头文件才能使用,会指定target的属性INTERFACE_INCLUDE_DIRECTORIES
    PUBLIC target对应头文件和源文件都能使用,会指定target的属性INCLUDE_DIRECTORIES 和INTERFACE_INCLUDE_DIRECTORIES
    PRIVATE target对应源文件使用,会指定target的属性INCLUDE_DIRECTORIES

target_link_libraries(项目名,目标文件,库文件)
//目标文件与库文件进行链接
//目标文件指通过add_executable()和add_library()指令生成的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值