当前位置: 首页 > news >正文

Cmake编译工程

Cmake目录结构:项目主目录中会放一个CmakeList.txt的文本文档,后期使用cmake指令时候,依赖的就是该文档

1.包含源文件的子文件夹包含Cmakelist.txt文件时,主目录的Cmakelists.txtx要通过add_subdirector添加子目录

2.包含源文件的子文件夹不包含Cmakelist.txt文件时,子目录编译规则,体现在目录中的CMakeLists.txt

7.8.1

1.内部构建:不推荐使用

内部构建会在主目录下,产生一大推中间文件,这些中间文件并不是我们最终所需要的,和工程文件放在一起时,会显得比较杂乱无章

##内部构建

#在当前目录下,编译主目录中的CMakeList.txt文件 文件生成Makefile文件

#执行make命令,生成目标文件

make

2.外部构建:推荐使用

将编译输出的文件与源文件放在不同的目录下,进行编译,此时,编译生成的中间文件,不会跟工程源文件进行混淆

##外部构建步骤

#1.在当前目录下,创建一个build文件,用于存储生成中间文件

mkdir build

#2.进入build文件夹内

cd build

#3.编译上一级目录中的Cmakelists.txt,生成Makefile文件及其他文件

cmake  ..  #..表示上一级目录

#4.执行make命令,生成可执行程序

make

7.7Cmake代码实践

7.7.1 同一目录下的文件进行编译

2.CMakelist.txt文件

3.内部构建

7.7.2 分文件编译

1.头文件

#ifndef SWAP_H
#define SWAP_H#include<iostream>
//声明一个交换
class MY_swap
{
private:int a;int b; 
public:MY_swap(int a,int b){this->a=a;this->b=b;}void run();void printInfo();};#endif

2.源文件

#include"swap.h"
#include<iostream>
using namespace std;void MY_swap::run()
{int temp=a;a=b;b=temp;
}void MY_swap::printInfo()
{cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;
}

4.分文件编译使用g++编译器生成可执行

5.创建工程管理文件CmakeList.txt


http://www.mrgr.cn/news/472.html

相关文章:

  • leetcode350. 两个数组的交集 II,哈希表
  • leetcode_53. 最大子数组和
  • MCU复位RAM会保持吗,如何实现复位时变量数据保持
  • 网络编程 8/15 基于UDP多人聊天室
  • linux部署elasticserch单节点
  • js取消焦点事件
  • 【边缘计算与智能家居】边缘计算在智能家居中的应用
  • c#实现数据导出为PDF的方式
  • Java用JNA调用dll : Invalid memory access
  • 稚晖君发布5款全能人形机器人,开源创新,全能应用
  • 一元闯关游戏
  • 宝塔面板部署webman项目+nginx反向代理
  • 深度学习--转换拼接问题 + TensorFlow包弃用问题
  • 在MuMu模拟器中的游戏如何设置变声器?电脑变声器开麦就变声!6款实时变声软件!TM真的炫!
  • SQLite3使用接口写入二进制文件
  • 高级java每日一道面试题-2024年8月15日-设计模式篇-设计模式与面向对象原则的关系是什么?
  • 构筑信息安全的桥梁:安全信息交换(SIX)全面解析
  • C++之函数传参方式
  • ImageMagick从pdf导出高清图片
  • 宝兰德荣获openEuler项目群青铜捐赠人称号,共筑开源生态繁荣新篇章