使用CMake编译CC++程序

使用CMake编译CC++程序,第1张

CMake Tutorial

CMake Reference

定义程序编译规则

生成可执行文件的最简单版本的 CMakeLists.txt

以上CMakeLists.txt定义的编译规则是将源文件tutorial.c编译成名为 Tutorial 的可执行文件。

一般用法是,新建一个文件夹,一般命名为 build ,在终端进入该文件夹,然后调用 cmake ../ , cmake 会在找到上级目录找到 CMakeLists.txt ,生成 makefile 和一些其它文件。

在 makefile 所在目录,调用 make 命令,会根据 makefile 对程序进行编译生成。

当在mac系统下编写c++程序时候,一般需要使用Xcode。如果不想装Xcode如何编译、运行程序呢?

一种方法是编写makefile文件,用makefile文件管理程序脚本之间的相互依赖关系

一、CMake是一种跨平台编译工具,比make更为高级。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序

二、cmake  指向CMakeLists.txt所在的目录,例如cmake .. 表示CMakeLists.txt在当前目录的上一级目录

cmake会生成很多中间文件,所以建议新建一个文件夹存放,分四个步骤:

1、mkdir bulid  //新建文件夹存放编译的中间文件

2、cd bulid //进入bulide文件夹

3、cmake .. //因为CMakeLists.txt文件在当前目录的外面,所以cmake命令需要使用cmake ..

4、make //make命令根据makefile文件编译源码,在bulid目录下生成一个可执行文件,运行获取结果

CMakeLists.txt主要包含以上的7个步骤:

#1.cmake verson,指定cmake版本

cmake_minimum_required(VERSION 3.13)

#2.project name,指定项目的名称,一般和项目的文件夹名称FirstProject对应

PROJECT(FirstProject)

#3.head file path,头文件目录

INCLUDE_DIRECTORIES()

#4.source directory,源文件目录

AUX_SOURCE_DIRECTORY(src DIR_SRCS)

#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"

SET(TEST_MATH)

#6.add executable file,添加要编译的可执行文件

ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library,添加可执行文件所需要的库(命名规则:lib+name+.so),就添加该库的名称

TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

C++项目很多都是基于CMake进行组织管理的,自2017年起VS支持cmake项目的直接编译后,对于小型项目,我们可以直接在vs中管理CMake工程,方便我们学习。下面以武汉大学牛小骥老师课题组开源组合导航程序KF-GINS为例说明。

1:打开VS2022 选择:继续但无需代码,如下图

2:选择文件—>打开——>CMake,如下图

3:选择要打开的cmake项目,选择最上层的CMakeLists.txt文件,如下图

打开完成后进入如下页面,工程被编译,可以选择打开CMake设置编辑器,打开类似于CMAKE-GUI的配置界面,也可以在项目栏点击“CMakeSettings.json”打开,进行相应设置

选择Debug模式,重新生成

4:选择启动项,选择Debug模式下生成的exe文件即可进行调试

调试如下:

c++

华为新品发布会即将开启,快来领取你的专属优惠券吧!

精选推荐

广告

Visual Studio 2022编译CMake工程

5421阅读·0评论·1点赞

2022年2月16日

如何在 VS Code 中编译和调试 CMake 项目

1489阅读·0评论·1点赞

2022年8月31日

Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

890阅读·0评论·1点赞

2022年11月19日

VS2022 + Cmake 开发Qt6

1279阅读·0评论·0点赞

2022年6月25日

使用CMake生成sln项目和VS工程遇到的问题

3.1W阅读·2评论·7点赞

2015年3月4日

VS Code安装和使用CMake工具

1997阅读·0评论·1点赞

2020年11月14日

超真实的荒岛生存体验,开局就送SSS级地狱级武器!

精选推荐

广告

windows下Cmake配置vs2022工程

4317阅读·7评论·3点赞

2022年6月18日

vs 打开cmake

2152阅读·0评论·0点赞

2021年8月20日

使用VS自带的命令行编译CMAKE项目

2193阅读·0评论·2点赞

2022年4月13日

Visual Studio 2022 在Windows上编译调试WSL2 CMake跨平台Linux工程

3757阅读·3评论·2点赞

2021年12月26日

VS中的cmake

178阅读·0评论·0点赞


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11396965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存