CMake学习记录
学习参考:CMake菜谱(CMake Cookbook中文版)
CMake是一个跨平台的自动化建构系统,用于管理软件建构的过程。它使用与平台无关的配置文件来控制软件的编译过程。下面是一个基本的CMake示例,用于构建一个简单的项目:
# 指定CMake的最低版本
cmake_minimum_required(VERSION 3.10)
# 设置项目名称
project(Tutorial)
# 添加可执行文件
add_executable(Tutorial tutorial.cxx)
# 指定C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
上面的代码片段展示了一个最基本的CMakeLists.txt文件,用于构建一个名为Tutorial的项目。这个项目包含一个名为tutorial.cxx的源代码文件,并且指定了使用C++11标准来编译这个项目。
一些常用的CMake语句:
- add_executable: 用于将源文件编译成可执行文件。
add_executable(my_executable main.cpp helper.cpp)
- add_library: 用于将源文件编译成库文件。
add_library(my_library STATIC source1.cpp source2.cpp)
- target_link_libraries: 用于将库文件链接到可执行文件。
target_link_libraries(my_executable my_library)
- include_directories: 用于添加头文件搜索路径。
include_directories(include)
- add_subdirectory: 用于向项目添加子目录。
add_subdirectory(my_subdirectory)
- find_package: 用于查找并加载外部依赖包。
find_package(Boost REQUIRED)
这些是CMake中一些常用的语句,用于配置和管理项目的构建过程。通过组合和调整这些语句,可以实现复杂的构建逻辑和依赖管理。
多用组合、少用继承
基于接口而非实现进行编程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)