前言:
之前已通过配置VScode下task.json与launch.json两文件实现C++工程的编译,但此方式学习成本高、不易理解且不通用,不适用于大型工程,因此本文旨在通过Cmake实现C++工程的编译。
一、依赖软件下载
1、下载安装MinGW、CMake;
2、VScode安装c/c++、CMake、CMake tools插件
依照博客vscode下cmake工程环境配置以及调试配置(c++)指导安装。
注: 安装完WinGW之后,需要将WinGW的bin文件夹下的mingw32-make.exe
复制一份然后改名为make.exe
,用于之后通过make直接编译。不要直接改,mingw32-make.exe在cmake的时候会被调用。
二、搭建Cmake工程
2.1、cmake工程目录结构如下:
在工程根目录下创建各文件夹如下:
bin目录: 存放生成的二进制文件
build目录: 存放编译生成的中间件
include目录: 存放头文件
src目录: 存放源文件
2.2、CMakeLists脚本编写:
具体语法见我的CMAKE语法专栏,详细介绍了每一行脚本的含义。
1) /CMAKE_TEST/CMakeListstxt:
cmake_minimum_required(VERSION 2.8.12)
project(cmake_test)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_STANDARD 11)
add_subdirectory(src)
2) /CMAKE_TEST/src/CMakeListstxt:
cmake_minimum_required(VERSION 2.8.12)
set(CMAKE_CXX_STANDARD 11)
aux_source_directory(. source_list)
include_directories(${PROJECT_SOURCE_DIR}/include)
add_executable(main ${source_list})
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin/)
2.3、编译执行调试:
- 参考博客vscode下cmake工程环境配置以及调试配置(c++)的2.2小节,利用MinGW配置Cmake的环境
- 在build目录下以此执行
cmake ..
、make
即完成工程的编译。 - 复制博客VSCode配置C++环境编译环境第二节中launch.json文件的编写,即可完成可执行文件的调试。