zoukankan      html  css  js  c++  java
  • CMake入门实践

    为了更好的代码管理,选择一款make工具非常重要,cmake取百家之长,现在在github上已经是工程管理的常客了,最大的优势是跨平台。本文将避开理论,直接教你如何在windows和linux上实现cmake的代码管理。

    开始之前

    cmake 的安装,这是必须的,不需要我教了哈。
    Windows和linux系统都安装起来。

    让我们直接开始

    先手撸一个main.cpp

    #include <iostream>
    
    int main(int argc, char const *argv[])
    {
    	/* code */
    	std::cout << "Hello CMake World "<<std::endl;
    	return 0;
    }
    

    再码起一个cmake的脚本文件,统一命名CMakeLists.txt,内容如下:

    cmake_minimum_required(VERSION 3.10.2)
    add_executable(Main main.cpp)
    
    • 第一句话是cmake的最小版本需求,
    • 第二句话则说明了最后的执行文件的名称,以及需要包含的cpp文件。

    main.cpp 和CMakeLists.txt放在同一个目录下即可。

    两个文件完成后,恭喜你,代码版本可以发布了,你成功完成了代码的全部工作。比如你需要提交到github上,丢这两个文件即可。这些代码,既支持linux也支持Windows。

    等等,还需要什么呢?对,编译指导说明文档。那就接着看吧!

    编译指导文档

    先高大上地写上 how to build:

    需要cmake,最低版本3.10.2

    • linux下
      先在代码文件夹下新建linux-build文件夹,然后在shell中执行
    cd linux-build
    cmake ../
    make
    ./Main
    
    • windows下
      先在代码文件夹下新建win-build文件夹,然后在Windows终端执行:
    cd win-build
    cmake ../ -G "Visual Studio 9 2008"
    MSBuild.exe  Project.sln
    ./Debug/Main
    

    分别完成以上四步,都可以看到结果:

    Hello CMake World
    

    解释说明

    一切看来,似乎简单的不像话,不论是linux还是Windows的工程文件,cmake都能接管,只需要一个简单的CMakeLists.txt文件即可。

    • 在linux下,通过cmake完成makefile文件的自动化生成,通过make编译工程,一切都很完美。
    • window下似乎还多了一些配置,这里我在cmake时配置了-G参数,使用的Vs2008,使用其他VS版本可以参照填写,执行后生成了工程文件Project.sln,这个是默认的名字,因为我没有做配置说明,然后通过msbuild.exe 编译该工程,默认是debug的,msbuild也有其编译选项,后续有机会再说明。

    以上,非常简单的介绍了cmake的跨平台特性,不论是管理Linux还是Windows平台的代码,都非常合适,特别是跨平台编程时,cmake可以精简很多的工作,后续会继续深入的学习cmake,同时发博文分享学习过程。

  • 相关阅读:
    意向锁
    锁升级
    使用SQL SERVER PROFILER 捕获和分析死锁
    用Go写一个聊天软件
    Js中的一个日期处理格式化函数
    javascript format 字符串 函数
    php 读取excel 时间列
    PHP发送post请求
    javascript getElementsByClassName扩展函数
    [ASP.NET] Session 详解
  • 原文地址:https://www.cnblogs.com/Stultz-Lee/p/10010002.html
Copyright © 2011-2022 走看看