Files
rikako-note/cmake/cmake.md
2022-04-10 00:43:15 +08:00

28 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CMake教程
* ## CMake的跨平台特性
* 由于在源文件规模较大时每次编译都重复输入gcc命令并指定源文件是很繁重的工作为了解决该问题通过 makefile文件指定每次编译过程的流程和clean等环节的命令可以只需输入make命令就完成一系列构建的工作。
<br/>
*
但是多个平台下make工具的格式并不都相同如windows平台下的nmake、QT平台下的qmake等等为了避免在不同平台重复编写不同格式的qmake可以通过编写CMakeLists.txt文件并根据不同平台的需要将其转化为对应平台下的make格式。
<br/>
* ## CMake中的指令
* ***cmake_minimum_version(VERSION 版本号):***<br/>当前项目需要的最小项目版本
<br/>
* ***project(项目名)***<br/>当前项目的名称
<br/>
* ***add_executable(可执行文件 source1 source2...):***<br/>生成的可执行文件名称和其依赖的源文件
<br/>
* ***set(CMAKE_CXX_STANDARD 11/14):***<br/>将c++标准设置为11或者14
<br/>
* ***set(CMAKE_CXX_STANDARD_REQUIRED On/Off):***<br/>
如果CMAKE_CXX_STANDARD_REQUIRED设置为True则必须使用该c++版本若设置为Off可以在不支持该版本的情况下选用其他版本
<br/>
* ***add_library(库名称 [STATIC|SHARED] source1 [source2...]):***<br/>
用指定的源文件构建动态/静态库当未指定STATIC/SHARED时默认会生成静态库.a文件指定static后生成.so动态库文件
<br/>
* ***target_include_directories(可执行文件名 PUBLIC 头文件目录...):***<br/>添加头文件
<br/>
* ***target_link_libraries(可执行文件名 PUBLIC 库名称...):***<br/>添加库