使用cmake

本文介绍如何使用CMake工具构建一个简单的工程。主要内容包括:通过CMakeLists.txt文件定义工程配置,如添加库和可执行文件;创建并编译工程;运行编译后的程序。适用于初学者了解CMake的基本用法。

1、

使用自动编译源码,方便这个项目的工程管理

在工程目录下创建CMakeLists.txt,它用来告诉cmake我们要对这个目录下的文件做什么事情,包括工程名的声明,添加一个可执行的程序,把文件编译成一个库,可执行程序链接一个库等等

把源代码和CMakeLists.txt,build文件夹放在工程文件夹内

#声明一个cmak工程
project(HelloSLAM)

#add_library(库名 共享库 源代码文件)
#共享库不会像静态库那样调用的时候回生成一个副本
add_library(hello_shared SHARED libHelloSLAM.cpp)

#add_executable(程序名 源代码文件)
add_executable(useHello useHello.cpp)

#链接库和程序target_link_libraries(程序名 库名)
target_link_libraries(useHello hello_shared)

2、

工程目录下创建一个build文件夹,用来保存编译文件

cd build
cmake ..
make

3、运行

./程序名
### 在 Ubuntu 上使用 CMake 的指南 在 Ubuntu 系统上使用 CMake 需要完成以下几个关键步骤:安装、配置以及执行构建过程。以下是详细的说明。 #### 1. 安装 CMake 可以通过以下两种方式之一来安装 CMake: - **通过包管理器安装** 使用 `apt-get` 命令可以直接从 Ubuntu 的官方源中安装 CMake,这种方法简单快捷。运行以下命令即可完成安装: ```bash sudo apt-get update sudo apt-get install cmake ``` 这种方法适合需要快速安装且对版本要求不高的用户[^3]。 - **通过源码编译安装** 如果需要特定版本的 CMake 或者官方源中的版本较旧,可以下载源码并自行编译安装。具体步骤如下: ```bash wget https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gz tar -xvzf cmake-3.26.0.tar.gz cd cmake-3.26.0 sudo apt-get -y install libssl-dev # 确保 OpenSSL 开发包已安装 ./configure make -j8 sudo make install ``` 安装完成后,可以通过以下命令验证 CMake 是否正确安装: ```bash cmake --version ``` 如果显示版本号,则说明安装成功[^2]。 - **通过预编译二进制文件安装** 下载已经编译好的 Linux 版本,并将其放置到 `/opt` 目录下,然后创建软链接: ```bash sudo ln -s /opt/cmake-3.26.0-linux-x86_64/bin/cmake /usr/bin/cmake ``` 此方法适用于不想重新编译的用户[^1]。 #### 2. 配置项目 CMake 的核心功能是生成构建系统文件(如 Makefile 或 Visual Studio 解决方案)。以下是基本配置流程: - 创建一个 `CMakeLists.txt` 文件,该文件定义了项目的构建规则。 - 在项目根目录下运行以下命令以生成构建文件: ```bash cmake . ``` 如果需要指定生成器(例如 Ninja),可以使用 `-G` 参数: ```bash cmake -G "Ninja" . ``` #### 3. 构建项目 生成构建文件后,可以根据所选的生成器执行构建操作。例如,如果生成的是 Makefile,可以运行以下命令进行构建: ```bash make ``` 或者,如果使用的是 Ninja: ```bash ninja ``` #### 4. 卸载 CMake 如果需要卸载通过源码编译安装的 CMake,可以进入源码目录并运行以下命令: ```bash sudo make uninstall ``` --- ### 注意事项 - 如果在安装过程中遇到错误提示“Could not find OpenSSL”,请确保已安装 OpenSSL 开发包: ```bash sudo apt-get install libssl-dev ``` - 推荐使用清华镜像或其他国内镜像站点加速下载 CMake 源码或二进制文件,避免因网络问题导致失败[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值