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

CMake

1.简单的cmake编写
CMakelists.txt :
cmake_minimum_required(VERSION 3.16)
project(x)
add_executable(x x.cpp)

//x.cpp
#include <iostream>
using namespace std;
int main()
{
cout<<"hello"<<endl;
return 0;
}

先执行cmake 生成makefile 再执行make生成可执行程序。
2.其他命令
现在有 a.cpp b.cpp x.cpp
cmake_minimum_required(VERSION 3.16)
project(x)
set(demo a.cpp b.cpp x.cpp) #将所有文件设置为一个变量名 demo
add_executable(x ${demo})#使用变量名字
3.c++标准添加
set(CMAKE_CXX_STANDARD 11)#C++11
4.输出路径

set(home /home/project)
set(EXCUTABLE_OUTPUT_PATH ${home}/bin)

5.搜索文件

aux_source_directory(${PROJECT_SOURCE_DIR} SRC)
add_executable(x  ${SRC})

将PROJECT_SOURCE_DIR 路径下的所有源文件保存到变量SRC,这个宏就是执行cmake

的路径,也就是CMakeLists.txt路径。
然后再执行add_executable(x ${SRC})
第二种方式:

file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)

CMAKE_CURRENT_SOURCE_DIR = CMakeLists.txt路径
/*.cpp 目录下所有的.cpp文件
6.指定头文件
src/ a.cpp b.cpp
include/ a.h

..
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
include_directories(${PROJECT_SOURCE_DIR}/include)
http://www.xdnf.cn/news/83251.html

相关文章:

  • 第48讲:空间大数据与智慧农业——时空大数据分析与农业物联网的融合实践
  • 数据库介绍
  • Eureka、LoadBalance和Nacos
  • 作为一个创业团队,Neo4j、Nebula Graph、HugeGraph‌、AllegroGraph‌等几款图数据库哪款更合适?
  • 【漫话机器学习系列】215.处理高度不平衡数据策略(Strategies For Highly Imbalanced Classes)
  • AI写代码之GO+Python写个爬虫系统
  • 基于 PaddleOCR对pdf文件中的文字提取
  • 深度学习4月22笔记
  • [翻译]从 unique 到 cleanups 和 weak:高效的新底层工具
  • 生产环境大数据平台权限管理
  • Neo4j 可观测性最佳实践
  • Vue指令详解:从入门到精通
  • BBR 的 minRTT 采集问题
  • 二叉树层序遍历技术解析与面试指南
  • 根据极点-零点分布进行状态空间模型降阶
  • 火山RTC 5 转推CDN 布局合成规则
  • 2024年ESWA SCI1区TOP:量子计算蜣螂算法QHDBO,深度解析+性能实测
  • 【简单学习】llamaindex环境搭建以及构建RAG
  • 真实趋势策略思路
  • 高并发秒杀使用RabbitMQ的优化思路
  • Vue2-重要知识点
  • Reflex 完全指南:用 Python 构建现代 Web 应用的终极体验
  • SpringCloud组件—Eureka
  • 面向组织的网络安全措施
  • 详解Node.js中的setImmediate()函数
  • 智慧城市新标配:苏州金龙无人清扫车开启城市清洁“智”时代
  • C++(初阶)(十二)——stack和queue
  • Web网页核心技术解析:从结构到节点操作
  • 大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)
  • [Git] Git Stash 命令详解