第一步:安装Cmake
双击点开即可,无脑下一步。
第二步:编写一个简单的Cmake项目
CMakeLists.txt文件
# 设置最低的 CMake 版本要求
cmake_minimum_required(VERSION 3.10)
# 设置项目名称
project(MyProject)
# 添加可执行文件
add_executable(my_executable main.cpp)
CMakeLists.txt是CMake构建系统的配置文件,用于定义项目的构建规则和依赖关系。它通常位于项目的根目录中,包含了一系列的指令和设置,用于指导CMake如何构建项目。
以下是CMakeLists.txt文件中一些关键部分的详细讲解:
- cmake_minimum_required: 指定项目所需的最低CMake版本。这确保了只有满足最低版本的CMake才能正确构建项目。
- project: 定义项目的名称和版本。这个命令会设置一些变量,如
PROJECT_NAME
和PROJECT_VERSION
,这些变量可以在后续的CMakeLists.txt中使用。 - add_executable/add_library: 分别用于添加可执行文件和库文件的目标。需要指定目标名称和源文件列表。例如,
add_executable(myapp main.cpp)
会创建一个名为myapp
的可执行文件,其源文件为main.cpp
。 - target_link_libraries: 用于指定目标(可执行文件或库)所依赖的其他库。例如,
target_link_libraries(myapp mylib)
表示myapp
依赖于mylib
库。 - include_directories: 用于添加头文件搜索路径。这样,在编译时,编译器就知道在哪里查找头文件。
- link_directories: 用于添加库文件搜索路径。这样,在链接时,链接器就知道在哪里查找库文件。
- find_package: 用于查找并加载系统中已安装的包。这对于使用第三方库非常有用。
- set: 用于设置变量。可以用来定义各种路径、标志和其他配置选项。
- message: 用于在构建过程中输出信息,有助于调试和了解构建过程。
- install: 用于指定安装目标时应该包含哪些文件和目录,以及它们应该被安装到什么位置。
- enable_testing 和
add_test
: 用于添加测试用例,并在构建过程中运行这些测试。 - catkin_package (针对ROS项目): 用于声明ROS消息文件并将其转换为特定编程语言所需的功能包,以及catkin工程项目文件的编译链接配置。
总的来说,CMakeLists.txt是CMake构建系统的核心,通过编写CMakeLists.txt文件,开发者可以方便地管理项目的构建过程,实现跨平台的构建。在使用CMake时,通常需要先运行cmake
命令来生成对应平台的构建文件(如Makefile),然后使用make
命令来编译源码生成可执行程序或共享库。
main.cpp
#include <iostream>
#include <stdio.h>
int main() {
std::cout << "Hello, CMake!" << std::endl;
printf("sb");
return 0;
}
然后打开cmd窗口,直接cmake .即可