windows下创建cmake项目

1.windows下第一个cmake项目

  1. 安装相关软件。

    下载CMake

    1. 下载zip版本“cmake-3.xx-win64-x64.zip”,

    2. 下载完成解压到指定目录并添加bin所在目录到环境变量。

    3. 在终端输入“cmake –help”或 “cmake –version”查看是否配置成功。

    下载MinGW-w64

    1. 推荐下载 离线版本“x86_64-posix-seh

    2. 将下载文件解压到指定目录并将bin目录加入到环境变量, 例如c:\mingw64\bin

    3. 将mingw64\bin目录下的“mingw32-make.exe”复制一份并改名为 “make.exe”,就可以在终端直接使用 “make”指令而不必使用“mingw32-make”指令。

    4. 在终端输入 gcc --version(或输入make --version查看版本信息),看到输出含以下信息,表示MinGW配置成功:

      1
      2
      3
      4
      5
      $ gcc --version
      gcc.exe (MinGW-W64 x86_64-msvcrt-posix-seh, built by Brecht Sanders) 13.1.0
      Copyright (C) 2023 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions. There is NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      1
      2
      3
      4
      5
      6
      7
      $ make --version
      GNU Make 4.4.1
      Built for x86_64-w64-mingw32
      Copyright (C) 1988-2023 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
  2. 创建一个文件夹hello

  3. 在文件夹中创建文件main.cpp并编辑内容

    main.cpp

    1
    2
    3
    4
    5
    6
    #include <stdio.h>

    int main() {
    printf("Hello, World!\n");
    return 0;
    }
  4. 在文件夹中创建CMakeLists.txt文件并编辑内容

    CMakeLists.txt

    1
    2
    3
    4
    cmake_minimum_required(VERSION 3.24.2)
    project(hello VERSION 0.1 LANGUAGES CXX)
    set(SOURCE main.cpp)
    add_executable(${PROJECT_NAME} ${SOURCE})
  5. 在命令行中切换到hello目录中,运行命令创建目录并生成makefile文件

    1
    2
    3
    mkdir build  
    cd build
    cmake -G "MinGW Makefiles" ..
  6. cmake编译

    1
    make
  7. 运行程序

    1
    hello.exe

2.cmake生成不同类型的配置文件

  1. MinGW Makefiles

    删除build文件夹输入命令重新生成

    1
    2
    3
    4
    5
    cd D:/test/CC++/VSCode/hello
    mkdir build
    cd build
    cmake -G "Unix Makefiles" ..
    make
  2. vs2022

    1
    2
    3
    4
    5
    6
    #需要打开x64 Native Tools Command Prompt for VS 2022
    cd D:/test/CC++/VSCode/hello
    mkdir D:/test/CC++/VSCode/hello/build
    cd D:/test/CC++/VSCode/hello/build
    cmake -S D:/test/CC++/VSCode/hello -B D:/test/CC++/VSCode/hello/build -G "Visual Studio 17 2022"
    msbuild D:/test/CC++/VSCode/hello/build/hello.sln
  3. 不带参数默认情况下Linux中是Unix Makefiles,windows中是vs

    删除build文件夹输入命令重新生成

    1
    2
    3
    4
    5
    6
    #windows下需要打开x64 Native Tools Command Prompt for VS 2022
    cd D:/test/CC++/VSCode/hello
    mkdir build
    cd build
    cmake ..
    cmake --build .

    使用GitBash无需打开x64 Native Tools Command Prompt for VS 2022

    1
    2
    3
    4
    5
    cd D:/test/CC++/VSCode/hello
    mkdir build
    cd build
    cmake ..
    cmake --build .
  4. nmake

    1
    2
    3
    4
    5
    cd D:/test/CC++/VSCode/hello
    mkdir build
    cd build
    cmake -G "NMake Makefiles" ../
    nmake