CMake指南

54次阅读

共计 1480 个字符,预计需要花费 4 分钟才能阅读完成。

版权申明:

本文原创首发于以下网站,您可以自由转载,但必须加入完整的版权声明

博客园:https://www.cnblogs.com/Mogoo…
csdn 博客:https://blog.csdn.net/nmjkl001/
知乎:https://www.zhihu.com/people/…
简书:https://www.jianshu.com/u/954…
segmentfault:https://segmentfault.com/u/mo…

CMakeLists.txt 文件解析

  • cmake verson,指定 cmake 版本
    cmake_minimum_required(VERSION 3.2)
  • project name,指定项目的名称,一般和项目的文件夹名称对应
    PROJECT(test_sqrt)
  • head file path,头文件目录
    INCLUDE_DIRECTORIES(include)
  • source directory,源文件目录
    AUX_SOURCE_DIRECTORY(src DIR_SRCS)
  • set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如 ”symbol lookup error xxxxx , undefined symbol”
    SET(TEST_MATH
    ${DIR_SRCS}
    )
  • add executable file,添加要编译的可执行文件
    ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})
  • add link library,添加可执行文件所需要的库,比如我们用到了 libm.so(命名规则:lib+name+.so),就添加该库的名称
    TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

编译阶段

  • make 命令默认执行的是 make all,make all 有四个阶段: prepare test compile package
    make prepare : 只会执行 prepare 阶段,这个阶段主要是下载编译依赖
    make test : 只会执行 test 阶段,这个阶段主要是做单元测试
    make compile : 只会执行 compile 阶段,这个阶段主要是进行编译
    make package : 只会执行 packege 阶段,这个阶段会把编译产出都 copy 到 output 目录中
    make install : 只会执行 install 阶段,这个阶段是把编译产出放到 $GOPATH/bin 目录下,这个不是必须的
    make clean : 只会执行 clean 阶段,这个阶段把编译输出的一些文件删除,恢复到编译之前的状态 

基本实践

  1. 创建项目文件夹 hello
  2. 文件夹 hello 内,创建构建目录 build
  3. 文件夹 hello 内,创建源代码(main.cpp)
  4. 文件夹 hello 内,创建 CMakeLists.txt

     project(hello)
     add_executable(hello main.cpp)
  5. 通过 cmake 命令构建项目:终端内执行命令:cmake PATH,这里执行

     cd build
     cmake ..
  6. 通过 cmake 的 gui 构建项目

    
    打开 cmake gui 设置 source 和 build
    点击 Configure 设置 platform,再点击 Configure
    点击 Genrate
    点击 OpenProject

构建可执行程序(待完善)

构建库程序(待完善)

我的联系方式:

QQ:2161044579
邮箱:mogoostudio@outlook.com
Github:https://github.com/MogooStudio

正文完
 0