cmake学习笔记

学习网站

cmake官网
https://zhuanlan.zhihu.com/p/534439206
常用命令
判断编译平台

CMake的使用

  • 在CMakeLists.txt 文件所在目录执行cmake .,在生成Makefile 后再使用 make 命令编译得到目标文件
  • camke命令不区分大小写
  • 使用${变量名}获取变量的值
  • -G 指定生成器,Ninja生成器适用于所有主要平台,调用了一次生成器后就不能更改生成器,必须删除生成目录,并且必须从头开始生成
    cmake .. -G Ninja

常用命令及解释

  • cmake_minimum_required 指定运行此配置文件所需要的CMake的最低版本
    cmake_minimum_required (VERSION 2.8)
  • project 参数值是该项目的名称
    project(demo)
  • add_executable 第一个参数为生成的目标名称,后面为源文件的名称,多个源文件用空格隔开
    add_executable(demo main.cc)
  • aux_source_directory( )该命令会查找指定目录下的所有源文件,然后将结果存进指定变量里面
    aux_source_directory(. dir) 将当前目录下的源文件保存到dir中
  • add_subdirectory 添加子目录
    add_subdirectory(math) 表面当前项目在当前目录下还有源文件子目录
  • add_library 将源文件生成目标库文件,第一个参数为目标文件,后面为源文件
    add_library(math main.cpp ...)
  • target_include_directories 指明项目文件的包含目录(-i)
    target_include_directories( test5 PRIVATE /usr/include/nlohmann /usr/include/x86_64-linux-gnu/curl)
  • target_link_directories 指明生成目标文件需要链接的库文件搜索目录(-L)
    target_link_directories( test5 PRIVATE /usr/lib)
  • target_link_libraries 指明生成目标文件需要链接的库文件(-l)
    target_link_libraries(demo math)

注意事项

  • 在使用find_package()时需要指定搜索的路径
posted @   wangzqzero  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示