文章目录
1. 环境配置
1.1 安装 Mingw
1.2 安装 cmake
1.3 vscode 安装 CMake 和 CMake Tools 插件
1.4 配置 MinGw 和 cmake 的环境变量
即添加 bin 目录到环境变量。是否成功添加到环境变量可以在命令行cmd界面输入g++ --version
和cmake --version
查看,如果输出了版本号则成功。
1.5 注意
- 为了方便后续使用,需要将 MinGw 自带的 make 工具改一下名称,将 MinGw 的 bin 文件夹下的 mingw32-make.exe 复制一份然后改名为 make.exe,不要直接改,mingw32-make.exe在 cmake 的时候会被调用。
2. 编译工程
2.1 总体流程
- 编写源代码
- 编写 CMakeLists.txt
- cmake 编译生成 MakeFile 文件
- make 编译生成可执行文件或者静态库
2.2 新建工程
- 创建如下目录结构
.vscode:vscode 配置文件
include:头文件
src:c/c++ 源文件
- 各文件内容入下
// test.h
#ifndef _TEST_h_
#define _TEST_H_
void printHello();
#endif
// test.cpp
#include <iostream>
#include "test.h"
void printHello()
{
std::cout << "hello" << std::endl;
return;
}
// main.cpp
#include <iostream>
#include "test.h"
int main(int argc, char** argv)
{
printHello();
return 0;
}
// CMakeLists.txt
cmake_minimum_required (VERSION 3.0.0) #规定cmake的最低版本要求
project(TEST_CMAKE) #项目的名称,不一定和你的文件夹名称一样
set(CMAKE_CXX_COMPILER "g++") #设置c++编译器
include_directories(${PROJECT_SOURCE_DIR}/include) #添加头文件的搜索路径
aux_source_directory(./src SrcFiles) #将源文件列表写在变量SrcFiles中
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #设置可执行文件输出路径
add_executable(test ${SrcFiles}) #设置可执行文件的名称,make之后bin目录下出现test.exe
2.3 编译工程
- 新建 bulid 目录
- 切换到 cmake 目录,然后输入 cmake -G “Unix Makefiles” …/ 执行 CMakeLists.txt 文件生成 MakeFile 文件
- 使用 make 命令执行 MakeFile 文件,编译项目
2.4 常见问题
-
cmake 之后没有生成 MakeFile,而是生成了 VS 的工程文件(xxx.sln)
如果系统安装了 VS,则需要使用
-G "Unix Makefiles"
指定生成 MakeFile 文件,否则默认生成 VS 工程文件。
关于 cmake 生成器可以参考以下链接,在 windows 下可以设置默认的生成器,去掉 -G 参数,
https://blog.csdn.net/ducal90/article/details/96432700
参考链接
- https://blog.csdn.net/qq_41603726/article/details/108805420