CMake 在工程管理中的使用 Window/MacOS

CMake 在工程管理中的使用 Window/MacOS

是什么

CMake 是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。

编译工具

Visual Studio 自动解析编译 cmakelists.txt

编译与链接

编译:将当前的C++/C 代码通过编译器,编译位目标代码的过程。

链接:将多个编译好的目标代码,相互进行链接,形成一个完整的可执行程序。

CMake工具就可以完成编译与链接的配置工作,让程序猿可以跨平台编译链接程序

动态库与静态库

静态链接库:包含代码与数据的文件,可在程序 编译期间 链接入程序

动态链接库:包含代码与数据的文件,可在程序执行期间被动态加载

动态链接库有利于 模块/插件 的升级

CMake 文件结构

CMakeList.txt 是整个CMake 工程描述文件,基本内容如下:

#需求的最低CMake 程序版本
cmake_minimum_required(VERSION 3.5)

#本工程的名字
project(CMakeDemo)

#本工程支持的C++ 版本
set(CMAKE_CXX_STANDARD 11)

#本工程主程序的文件以及程序输出的名称
add_executable(CMakeDemo "main.cpp")

main.cpp

#include <iostream>

int main(){
	std::cout<<"Hello World "<<std::endl;
	return 0;
}

其他设置

#需求的最低CMake 程序版本
cmake_minimum_required(VERSION 3.5)

#本工程的名字
project(CMakeDemo)

#本工程支持的C++ 版本
set(CMAKE_CXX_STANDARD 11)

#搜索所有的Cpp 加入到SRCS变量中 SRCS source的缩写
aux_source_directory(. SRCS)

#本工程主程序的文件以及程序输出的名称
add_executable(CMakeDemo ${SRCS})

MacOS + Xcode 下的使用

创建编译生成的目录文件。程序文件结构如下:

Project
	build
	CMakeLists.txt
	main.cpp

打开终端 进入build文件夹 执行下面指令:

cmake .. -G "Xcode"

等待执行完成,则会输出如下内容:

 build % cmake .. -G "Xcode"
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (10.2s)
-- Generating done (0.0s)
-- Build files have been written to: /Project/OpenGL/CMakeDemo/build

进入到build目录,则可见生成的Xcode 工程项目

Window + VS 下的使用

直接使用VS —>文件打开----->Cmake 选择CMakeList.txt 文件则会自动的解析 生成工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值