cmake + vscode + mingw 开发环境配置

1.软件准备

准备如下软件:

mingw64(安装完成之后检测是否有环境变量,如果没有需要配置)

cmake(安装完成之后检测是否有环境变量,如果没有需要配置)

vscode(安装CMake插件)

2.创建项目

创建一个test目录作为项目的根目录,并在test目录中创建一个CMakeLists.txt文件,文件内容如下:

复制代码
cmake_minimum_required(VERSION 3.14)
project(test)
set(CMAKE_CXX_STANDARD 14)
#设置程序生成的DEBUGrelase目录
set(PROGRAM_PATH_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}build/debug)
set(PROGRAM_PATH_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}build/release)
# 引入子目录
ADD_SUBDIRECTORY(main)

然后再创建一个main目录,在main目录中创建一个CMakeLists.txt文件,内容如下:

复制代码
set_target_properties(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "_d")
#设置可执行程序的输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/../build/debug)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/../build/release)
file(GLOB main_src  ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
ADD_EXECUTABLE(main ${main_src})
IF (CMAKE_BUILD_TYPE MATCHES "Debug"
        OR CMAKE_BUILD_TYPE MATCHES "None")
    MESSAGE(STATUS "CMAKE_BUILD_TYPE is Debug")
    set_target_properties(main PROPERTIES OUTPUT_NAME "main_debug")
ELSEIF (CMAKE_BUILD_TYPE MATCHES "Release")
    MESSAGE(STATUS "CMAKE_BUILD_TYPE is Release")
    set_target_properties(main PROPERTIES OUTPUT_NAME "main_release")
ELSEIF (CMAKE_BUILD_TYPE MATCHES "RelWitchDebInfo")
    MESSAGE(STATUS "CMAKE_BUILD_TYPE is RelWitchDebInfo")
ELSEIF (CMAKE_BUILD_TYPE MATCHES "MinSizeRel")
    MESSAGE(STATUS "CMAKE_BUILD_TYPE is MinSizeRel")
ELSE ()
    MESSAGE(STATUS "unknown CMAKE_BUILD_TYPE = " ${CMAKE_BUILD_TYPE})
ENDIF ()

然后再创建一个main.cpp文件,内容如下:

复制代码
int main()
{
    return 0;
}

目录结构如下:

test/

│

├──CMakeLists.txt

├──main/

│ ├──── CMakeLists.txt

│ ├──── main.cpp

3.编译项目

使用vscode打开test目录,如图:

然后点击CMake插件,选择调试工具包,如图:

这里我们选择GCC 8.10xxxx,也就是之前装的mingw64

配置完成之后,如图:

这里配置的是Debug,如果要切换release模式,编辑配置下面的Debug,如图:

然后切换release,如图:

编译程序,点击编译图标,如图:

然后就会生成exe到指定的目录,如图:

编译的文件在项目根路径下面的build目录下,也就是在CMakeLists.txt配置的:

复制代码
set(PROGRAM_PATH_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}build/debug)
set(PROGRAM_PATH_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}build/release)

4.调试

在main函数上面打一个断点,然后点击调试按钮,如图:

然后代码就会走到断点的位置处,如图:

相关推荐
阿钱真强道3 小时前
15 嵌入式操作系统 | 库的下载、编译、安装与验证(libubox / ubus / uci)
ubuntu·cmake·uci·ubus·libubox
VIP_CQCRE11 小时前
在 OpenCode IDE 中接入 Ace Data Cloud:让 VS Code、Cursor、Windsurf 都能调用统一 AI Coding 能力
vscode·ai编程·开发工具·opencode·acedatacloud
sunburn-12 小时前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
life码农12 小时前
PhpStorm或Pycharm中 如何从某个位置全选文字到文件末尾
ide·pycharm·phpstorm
神一样的老师13 小时前
RA-Eco-RA4M2-100PIN-V2.0 开发环境:VSCode + FSP 从新建工程到点亮 LED
ide·vscode·编辑器
索端阳13 小时前
I.MX6ULL 裸机开发:LCD Framebuffer 与 RGB888 学习笔记
笔记·vscode·嵌入式硬件·学习
围炉聊科技14 小时前
你从IDE切到ADE了吗?智能体开发环境赛道地图——智能体基建系列
ide·人工智能
passion14 小时前
CnPack IDE专家包发布1.8.1正式版!
ide·delphi·cnpack
宁静致远202114 小时前
在VScode中使用MATLAB
vscode·matlab
霸道流氓气质14 小时前
Graph Studio Web IDE 深度实战:可视化编排、断点调试与生产级运维全指南
运维·前端·ide