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

CMAKE指令集

目录

1、指定CMAKE最低的版本号

2、设置工程名

3、添加可执行文件

4、简化项目名的表示

5、添加多个可执行文件

6、添加多个可执行文件的简洁方法

7、添加版本号和配置头文件

8、指定C++版本

9、添加库

10、使用库

11、将库设置为可选项

如果这篇文章能帮助到你,请点个赞鼓励一下吧ξ( ✿>◡❛)~


CMakeLists.txt文件,是配置CAMKE工程的起点,

文件中的相关指令:

1、指定CMAKE最低的版本号

cmake_minimum_required(VERSION 3.15)

2、设置工程名

project(Tutorial)

3、添加可执行文件

add_executable(Tutorial tutorial.cpp)

4、简化项目名的表示

add_executable(${PROJECT_NAME} tutorial.cpp) (其中${PROJECT_NAME}表示PROJECT_NAME该值为宏定义替换)

5、添加多个可执行文件

add_executable(${PROJECT_NAME} a.cpp b.cpp c.cpp) #多个可执行文件之间使用 空格 隔开

6、添加多个可执行文件的简洁方法

set(SRC_LIST a.cpp b.cpp c.cpp) add_executable(${PROJECT_NAME} ${SRC_LIST}) #使用SRC_LIST来指代多个可执行文件,SRC_LIST就是多个文件名的宏定义

7、添加版本号和配置头文件

project(Tutorial VERSION 1.0.2) #这个命令为项目增加了一个版本号

8、指定C++版本

cmake_minimum_required(VERSION 3.15) # set the project name and version project(${PROJECT_NAME} VERSION 1.0) # specify the C++ standard set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True) #当gcc版本>6.1,不显式指定C++版本,默认C++版本为C++14,其中CMAKE_CXX_STANDARD变量就是指定C++本版的宏

9、添加库

# MathFunctions/CMakeLists.txt add_library(MathFunctions mysqrt.cpp) #在MathFunctions目录包含两个文件,MathFunctions.h 和 mysqrt.cpp,在这个目录下创建一个CMakeLists.txt文件,内容如上所示,表示添加一个叫MathFunctions的库文件

10、使用库

add_subdirectory(MathFunctions) #为了使用MathFunctions库,需要在顶层的CMakeLists.txt文件中添加上述命令,指定库所在的子目录,该子目录下包含CMakeLists.txt文件和头文件、源文件。 # add the MathFunctions library add_subdirectory(MathFunctions) # add the executable add_executable(${PROJECT_NAME} tutorial.cpp) target_link_libraries(${PROJECT_NAME} PUBLIC MathFunctions) # add the binary tree to the search path for include files # so that we will find TutorialConfig.h target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/MathFunctions )

11、将库设置为可选项

if(USE_MYMATH) add_subdirectory(MathFunctions) list(APPEND EXTRA_LIBS MathFunctions) list(APPEND EXTRA_INCLUDES ${PROJECT_SOURCE_DIR}/MathFunctions) endif() # add the executable add_executable(${PROJECT_NAME} tutorial.cpp) target_link_libraries(${PROJECT_NAME} PUBLIC ${EXTRA_LIBS}) # add the binary tree to the search path for include files # so that we will find TutorialConfig.h target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR} ${EXTRA_INCLUDES} ) #将库设置为可选项,可以在不使用库时,将库文件从编译过程中剥离出去,优化编译效率和代码体积。

如果这篇文章能帮助到你,请点个赞鼓励一下吧ξ( ✿>◡❛)~

http://www.jsqmd.com/news/212244/

相关文章:

  • 导师严选10个一键生成论文工具,本科生毕业论文轻松搞定!
  • 强烈安利MBA必用TOP8 AI论文工具测评
  • Thinkphp和Laravel框架的简历智能推荐系统_jw8dzu00
  • 2025年GEO优化实力排行榜,杭州爱搜索人工智能有限公司入选TOP5供应商
  • JOIN之高级连接
  • 限时公开!9款AI写论文神器,维普查重一把过无痕!
  • 所有权、借用、生命周期:Rust内存安全的核心密码
  • AI大模型时代程序员/小白的职业进阶指南:五大高薪岗位与技能路径全解析
  • AI写作助手测评大会
  • Thinkphp和Laravel框架的企业员工事务任务处理系统_3e9isxr0
  • 医疗OCR用Tesseract稳缩写识别
  • 让 AI 自己打怪升级,Meta用Self-play RL把Coding推向超级智能
  • Thinkphp和Laravel框架的四川旅游学院校园水果自动售卖商城系统的设计与实现_yhyfhk6y
  • RAG架构完全指南:从标准到自适应,AI开发者必备的检索增强生成知识体系
  • 【Go】Go环境搭建与第一个程序
  • AI 外设接入 + 本地模型指定路径部署,FlowyAIPC v4.0.3 正式发布
  • RAG(检索增强生成)架构与原理:告别LLM“幻觉”的秘密武器
  • 使用keychron Launcher改 K3Max 的功能键
  • IEC-60958
  • RAG分块完全指南:7种核心策略详解,让你的大模型效果翻倍
  • (加交叉验证)基于GPR的数据多变量回归预测 (多输入单输出)
  • 大模型在自动驾驶中的应用:从VLA到端到端技术全解析
  • JavaWeb相关环境安装
  • 04|交付经理真正的 KPI 只有一个:可被接受的结果
  • 小白也能学会!2024-2025年RAG系统高精度实现指南,企业级应用必备收藏
  • ‌为什么供应商报价有13%和3%两种增值税?‌
  • of 的发音?弱读最常见/əv/
  • 基于1D-CNN的数据多变量回归预测 (多输入单输出)
  • PyQt5 解决弹窗后快捷键失效问题
  • 【必收藏】突破传统RAG瓶颈:Deep Thinking RAG架构详解与实战指南