• CMake 在工程管理中的使用 Window/MacOS


    CMake 在工程管理中的使用 Window/MacOS

    是什么

    CMake 是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。

    编译工具

    Visual Studio 自动解析编译 cmakelists.txt

    编译与链接

    编译:将当前的C++/C 代码通过编译器,编译位目标代码的过程。

    链接:将多个编译好的目标代码,相互进行链接,形成一个完整的可执行程序。

    CMake工具就可以完成编译与链接的配置工作,让程序猿可以跨平台编译链接程序

    动态库与静态库

    静态链接库:包含代码与数据的文件,可在程序 编译期间 链接入程序

    动态链接库:包含代码与数据的文件,可在程序执行期间被动态加载

    动态链接库有利于 模块/插件 的升级

    CMake 文件结构

    CMakeList.txt 是整个CMake 工程描述文件,基本内容如下:

    #需求的最低CMake 程序版本
    cmake_minimum_required(VERSION 3.5)
    
    #本工程的名字
    project(CMakeDemo)
    
    #本工程支持的C++ 版本
    set(CMAKE_CXX_STANDARD 11)
    
    #本工程主程序的文件以及程序输出的名称
    add_executable(CMakeDemo "main.cpp")
    

    main.cpp

    #include 
    
    int main(){
    	std::cout<<"Hello World "<<std::endl;
    	return 0;
    }
    
    

    其他设置

    #需求的最低CMake 程序版本
    cmake_minimum_required(VERSION 3.5)
    
    #本工程的名字
    project(CMakeDemo)
    
    #本工程支持的C++ 版本
    set(CMAKE_CXX_STANDARD 11)
    
    #搜索所有的Cpp 加入到SRCS变量中 SRCS source的缩写
    aux_source_directory(. SRCS)
    
    #本工程主程序的文件以及程序输出的名称
    add_executable(CMakeDemo ${SRCS})
    

    MacOS + Xcode 下的使用

    创建编译生成的目录文件。程序文件结构如下:

    Project
    	build
    	CMakeLists.txt
    	main.cpp
    

    打开终端 进入build文件夹 执行下面指令:

    cmake .. -G "Xcode"
    

    等待执行完成,则会输出如下内容:

     build % cmake .. -G "Xcode"
    -- The C compiler identification is AppleClang 10.0.1.10010046
    -- The CXX compiler identification is AppleClang 10.0.1.10010046
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done (10.2s)
    -- Generating done (0.0s)
    -- Build files have been written to: /Project/OpenGL/CMakeDemo/build
    
    

    进入到build目录,则可见生成的Xcode 工程项目

    Window + VS 下的使用

    直接使用VS —>文件打开----->Cmake 选择CMakeList.txt 文件则会自动的解析 生成工程

  • 相关阅读:
    synchronized锁详解
    Qt自定义标题栏
    智能可观测性如何赋能智能汽车主机厂
    2069. 模拟行走机器人 II
    发送短信验证码执行登录操作
    IO模型&Netty
    【毕业设计】深度学习花卉识别系统 - 卷积神经网络 机器视觉
    MySQL 表查询关键字
    【JavaEE】_前端使用GET请求的queryString向后端传参
    【公司UI自动化学习】
  • 原文地址:https://blog.csdn.net/HeroGuo_JP/article/details/139089774