news 2026/6/9 23:45:30

CMAKE指令集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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} ) #将库设置为可选项,可以在不使用库时,将库文件从编译过程中剥离出去,优化编译效率和代码体积。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 17:37:58

专科生必看!8个降AI率工具,高效避坑指南

专科生必看!8个降AI率工具,高效避坑指南 AI降重工具:高效避坑的必备利器 随着人工智能技术的快速发展,越来越多的专科生在撰写论文时开始使用AI工具进行辅助。然而,AI生成的内容往往存在明显的“AI痕迹”,不…

作者头像 李华
网站建设 2026/5/13 12:22:16

Linux用户、组创建

#创建指定组ID的xixi组 groupadd -g 3001 xixi#创建指定用户ID的ADMIN用户,并加入进xixi组 useradd -u 3001 -G xixi ADMIN #创建指定用户ID的APP用户,并加入进xixi组 useradd -u 3002 -G xixi APP#设置两用户密码永不过期 chage -M 99999 ADMIN chage -…

作者头像 李华
网站建设 2026/6/10 1:05:33

AI 外设接入 + 本地模型指定路径部署,FlowyAIPC v4.0.3 正式发布

【2026年01月06日】FlowyAIPC 全新 v4.0.3 版本正式发布,本次更新重点围绕「会议纪要反馈机制」「本地模型部署位置」以及「AI鼠标外设」同时对部分硬件配置下的功能策略进行了调整。 本地模型支持自定义部署位置 模型不再被“固定在一个路径里” 针对本地模型体…

作者头像 李华
网站建设 2026/6/2 19:29:30

‌为什么供应商报价有13%和3%两种增值税?‌

为什么供应商报价有13%和3%两种增值税?‌ 13%税率‌:适用于‌一般纳税人‌销售‌货物、加工修理修配劳务、有形动产租赁‌等业务。例如:销售手机、电脑、机械设备、汽车配件、工业原材料等。 3%征收率‌:适用于‌小规模纳税人‌的…

作者头像 李华
网站建设 2026/6/5 11:36:14

大模型在自动驾驶中的应用:从VLA到端到端技术全解析

文章介绍了大模型在自动驾驶领域的应用,重点解析了VLA(视觉-语言-动作)技术与端到端的关系,并阐述了两种VLA实现方案:两阶段(大模型Diffusion)和单阶段(纯大模型)。同时提…

作者头像 李华