当前位置: 首页 > news >正文

VSCode 配置 CMake

VSCode 配置 C/C++ 环境的详细过程可参考:VSCode 配置 C/C++ 环境

1 配置C/C++编译环境

如果是 Windows 环境,需要安装 MingW。

  • 方案一
    可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。
    注意安装路径不要出现中文。
    在这里插入图片描述

    打开 windows shell 界面,输入mingw-get install gccmingw-get install g++
    如果安装的时候提示安装包被错误下载,可使用方案二安装。

  • 方案二
    进入网址https://sourceforge.net/projects/mingw-w64/files/,下滑,下载图中所示压缩包。
    在这里插入图片描述

    找一个无中文路径解压缩。
    添加环境变量。在Path中加入解压后的文件夹中的bin目录,如C:\ProgramFiles\MinGW\mingw64\bin。
    在这里插入图片描述
    在这里插入图片描述

  • 测试
    在 windows shell 界面输入gcc -vg++ -v,正确出现版本号则配置成功。

  • 创建 make.exe
    进入 MingW 安装位置下的 bin 目录,将 mingw32-make 复制一份,并改名为 make.exe。如果不这样做,无法使用 make 命令,而需要使用 mingw32-make 命令作为替代。

2 安装 CMake

可以去官网(https://cmake.org/download/)下载安装包。
向下滑,找到安装包,直接下载安装即可。
在这里插入图片描述

3 安装 VSCode 插件

按 Ctrl+Shift+x,或点击图中图标,搜索以下插件并安装:C/C++ 、Code Runner、CMake、CMake tools。
在这里插入图片描述

4 创建 CMake 工程

新建一个文件夹并用 VSCode 打开。
按 Ctrl+Shift+p,或点击图中所示图标,打开命令面板。
在这里插入图片描述
搜索 cmake,选择 CMake 快速入门。
在这里插入图片描述
输入项目名称。
在这里插入图片描述
选择项目类型。
在这里插入图片描述
选择 Executable。在这里插入图片描述
生成以下文件。
在这里插入图片描述
然后就可以编写代码了。

5 CMakeLists.txt

编写 CMakeLists.txt 后,在同级目录下创建 build 文件夹,进入 build 文件夹,使用命令 cmake ..,可自动生成 Makefile。
如果当前项目首次使用 cmake 命令并且报错了,可以清空 build 目录下的所有文件后,尝试使用 cmake -G"MinGW Makefiles" ..
以下是 CMakeLists.txt 中一些可以使用的语句示例:

# 指定最小版本
cmake_minimum_required(VERSION 3.0.0)
# 制定项目名称
project(algorithm VERSION 0.1.0 LANGUAGES C CXX)
# 引入CTest
include(CTest)
enable_testing()
# 添加子项目
add_subdirectory(subdirectory)
# 如果有共享的头文件或库,可以在这里包含
include_directories(common_include_folder)
# 如果有共享的库文件,可以在这里链接
link_directories(common_lib_folder)
# 指定生成可执行文件
# add_executable(algorithm main.cpp)
# 链接子项目生成的库文件
# target_link_libraries(MyExecutable subproject1_lib subproject2_lib)
# 设置参数
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
set(CMAKE_CXX_COMPILER "D:\\ProgramFiles\\MingW\\mingw64-8.1.0\\bin\\g++.exe")  # 指定编译器路径
# 添加所有源文件
file(GLOB SOURCES "src/*.cpp")
# 添加头文件路径
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# 生成可执行文件
add_executable(partition_executable ${SOURCES})

示例:
假设项目结构如下:

project_root/|- CMakeLists.txt|- subproject1/|- CMakeLists.txt|- src/|- main.cpp|- utils/|- utility.cpp|- utility.h|- include/|- subproject1/|- header1.h|- header2.h|- subproject2/|- CMakeLists.txt|- src/|- main.cpp|- math/|- math.cpp|- math.h|- include/|- subproject2/|- header3.h|- header4.h

主项目的CMakeLists.txt文件可以如下所示:

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 添加子项目
add_subdirectory(subproject1)
add_subdirectory(subproject2)

子项目的CMakeLists.txt文件可以如下所示:

cmake
# 子项目名
project(subproject1)# 添加所有源文件
file(GLOB SOURCES "src/*.cpp" "src/utils/*.cpp")# 添加头文件路径
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)# 生成可执行文件
add_executable(subproject1_executable ${SOURCES})

可以在每个子项目文件夹下执行以下命令来构建和运行单独的子项目:

mkdir build
cd build
cmake ..
make
./subproject1_executable
./subproject2_executable

6 运行

经过上一步可生成 Makefile,然后运行 make 命令,就可以生成 exe 可执行文件。
接下来运行可执行文件就可以了。

http://www.lryc.cn/news/342051.html

相关文章:

  • ​《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制德国每日风能和太阳能产量3D线图
  • 【信息系统项目管理师知识点速记】质量管理:控制质量
  • 【云原生】Pod 的生命周期(一)
  • Golang | Leetcode Golang题解之第71题简化路径
  • Unreal游戏GPU性能优化检测模式全新上线
  • 设计网页用什么软件
  • ⑪ - 测试工程师通识指南
  • RabbitMQ知识点总结和复习
  • ContEA阅读笔记
  • 使用nvm切换nodejs版本
  • 机器学习_KNN算法
  • 学QT的第一天~
  • 《QT实用小工具·四十九》QT开发的轮播图
  • uniapp 自定义 App启动图
  • 39-1 Web应用防火墙 - WAF应用程序层绕过
  • 【1】STM32·FreeRTOS·新建工程模板【一步到位】
  • linux下sd卡的备份与还原
  • Spring Boot项目中集成Logback作为日志框架-笔记
  • Python_GUI框架 PyQt 与 Pyside6的介绍
  • Github入门
  • 【Web漏洞指南】XSS漏洞详细指南
  • Labels and Databases for Mac:强大的标签与数据库管理工具
  • 视频降噪算法 Meshflow 介绍
  • 情感类ppt素材
  • 专家解读 | NIST网络安全框架(1):框架概览
  • 【NodeMCU实时天气时钟温湿度项目 3】连接SHT30传感器,获取并显示当前环境温湿度数据(I2C)
  • Unity3D DOTween
  • 罗宾斯《管理学》第13版/教材讲解/考研真题视频课程/网课
  • docker-compose启动mysql4.7环境搭建
  • StarryCoding入门教育赛2 题解 C++代码(推荐学习)