• CMake篇1: Windows上用CMake编译生成可执行程序


    正式开篇之前,我假设你已经安装了VS系列,我安装的是VS2017, 并且安装了CMake,
    CMake官网下载地址:https://cmake.org/download/ go官网
    可以下载.zip和.msi版本都可以(.zip解压版, .msi是可视化安装), 此处我下载的是
    .zip版本, 我直接进行解压, 并将解压后的bin目录(cmake.exe所在目录)添加至系统环境变量之中了,见下图:
    *
    在这里插入图片描述
    在这里插入图片描述
    注意,这是先导条件,否则后续是无法进行的。。。
    接下来将提供提供两种基于Windows的cmake编译程序,一种是命令行形式,一种是基于cmake的图形化形式;

    >>>>>>>>>>>>> 法一:命令行编译 <<<<<<<<<<<<<<

    1.0 首先创建工程目录CMakeTest, 该目录下共3个文件, CMakeLists.txt, app.h, main.c;

    在这里插入图片描述

    CMakeLists.txt:

    cmake_minimum_required(VERSION 3.10)
    project(CMakeTest C)
    
    set(CMAKE_C_STANDARD 99)
    add_executable(CMakeTest main.c)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    app.h:

    #ifndef _APP_H
    #define _APP_H
    
    int Max(int num1, int num2) {
        return num1 > num2 ? num1 : num2; 
    }
    
    #endif
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    main.c:

    #include <stdio.h>
    #include "app.h"
    
    int main() 
    {
        printf("HelloWorld.\n"); 
        printf("max value is:> %d.\n", Max(1, 2)); 
    	system("pause");
        return 0; 
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    1.1而后打开cmd,切换到工程目录之下,如下图所示:

    在这里插入图片描述

    1.2 此时执行命令:cmake ., 如下图所示:

    在这里插入图片描述

    1.3 可以看到已经生成了CMakeTest.sln(这里默认是使用VS 2017进行编译的); 好,此时双击打开CMakeTest.sln; 见下图:

    在这里插入图片描述

    1.4 此时在ALL_BUILD上右键 进行build操作,见下图:

    在这里插入图片描述
    在这里插入图片描述

    1.5 接下来我们看看工程目录,发现已经生成了Debug目录,见下图:

    在这里插入图片描述

    1.6 好,此时我们进入Debug目录,发现生成了CMakeTest.exe可执行文件,此时我们运行看看,见下图:

    在这里插入图片描述
    在这里插入图片描述

    >>>>>>>>>>>>> 法二:图形化形式编译 <<<<<<<<<<<<<<

    2.1 好,我们首先回到之前的目录架构,如下图所示:

    在这里插入图片描述

    2.2 因为之前已经安装CMake了,*.zip解压后会有一个cmake-gui.exe,见下图:

    在这里插入图片描述

    2.3 此时,双击运行它,并进行相应操作,如下图所示:

    在这里插入图片描述

    2.4 第一项是源码目录,第二个是编译生成的目录,好,我们自己建一个build目录; 一切就绪之后,接下来点击Configure, 如下图所示,这里我默认了。

    在这里插入图片描述

    2.5 点击Finish,见下图:

    在这里插入图片描述

    2.6 此时再点击Generate,此时看看工程目录下的build目录,如下图所示:

    在这里插入图片描述

    2.7 同样打开*.sln文件,进行相应的操作(参考方法一),最终的运行程序如下图所示:

    在这里插入图片描述

    2.8 至此,本篇结束。

  • 相关阅读:
    Git分布式版本控制工具
    Unity Audio
    QML的Popup遇到的坑
    【数据结构与算法】第一章 绪论 2-数据结构的基本概念
    算法--交错字符串(Kotlin)
    【两篇就够】异步相关(二)
    如何解决linux系统平均负载高(load average)
    海量数据处理方法归纳
    cocos入门3:新建项目
    EN 14963屋顶覆盖物塑料连续顶灯—CE认证
  • 原文地址:https://blog.csdn.net/TianYanRen111/article/details/125408211