在Win10系统上使用VScode + Cmake配置C/C++开发环境,实现一键编译运行
1.前言
前几天在公司的Ubuntu20.04电脑上配置了VSCode + Cmake的C/C++开发环境,可以用来跑跑C/C++的代码,然后,现在住的地方用的Windows,开发环境用的是 Visual C++ 6.0,环境有点老,跑点简单的C代码还行,但是要跑比较复杂的C++代码,代码敲起来就不那么舒服了。
所以,就想配置的和公司Ubuntu的C/C++开发环境一样,用VSCode + Cmake配置一套在Win10运行的开发环境,然后再写个简单的“一键编译运行”脚本,运行一下就可以跑程序,岂不美哉~~
说干就干。
2.软件准备
主要有下面这几个软件要安装一下。
- VS Code ;
(本人最喜欢的IDE!界面简洁,安装包也不大(对比VS几个G,你细品),通过安装插件的方式扩展功能,这种方式非常奈斯!) - Cmake ;
- MSYS2;(用于在windows上安装编译器gcc、g++、make)
2.1 VSCode的安装
首先是VS Code的安装,直接去VSCode的官网(https://code.visualstudio.com/)下载安装包VSCodeUserSetup-x64-1.69.0.exe (Windows 64位操作系统),根据自己的电脑是64位(x64)还是32位(x86)选择相应的安装包,一路正常安装即可,比较简单。
我这里主要想说的是个人觉得VS Code的一些好用的插件,也做自己备忘。
Chinese中文插件,安装完就是中文界面了;
Partial Diff插件,可比较代码、文件的不同,虽然说有更专业的beyong
compare,但是bc要收费,破解安装也有点麻烦;
Rainbow Brackets,多重括号提示,有多重括号、大括号,会以不同颜色区分,代码会更方便查看;
One Dark Pro,VS Code的皮肤插件,默认的界面还是有点一般,安装完后会更好看;
Window Colors,VS Code多开插件,开了多个VS Code,安装完这个插件后,每个窗口会以不同颜色呈现,方便区分,非常奈斯的一个插件;
Tabnine AI,这个插件可太牛逼了,我也是最近刚开始用,可通过AI预测你下一步要输入的代码,然后你可用Tab键进行补全,非常好用!!!墙裂推荐,我用了后仿佛打开了新世界!
接下来就是一些与C/C++语言相关的开发插件了,就不多介绍了,基本都要装上。
- C/C++;
- C/C++ Extension Pack;
- C/C++ Themes;
- Cmake工具,这个应该在安装完前面3个应该会自动安装上,这里提一下;
VS Code的安装就说这么多,读者要是有更多、更好用的插件,欢迎交流~~
2.2 CMake的安装
同样到官网(https://cmake.org/download/)下载适配Win10-64位系统的安装包,下载有点慢,好在安装包只有不到30M,等了几分钟就下完了。
下载完后,也是一路安装,注意要勾上把CMake加入到系统路径,省得需要自己手动添加。
安装完后,重启一下电脑,让环境变量生效。
win+r,输入cmd,打开windows命令行,输入 cmake --version,打印以下信息说明,正确安装了。
2.3 MSYS2的安装
最后是MSYS2的安装,这个可能有点麻烦,我也是最近刚知道这个软件,这个软件可以很方便的在Windows上安装gcc,g++和Make等一系列在Linux下的软件,省得我们要一个个地安装,跟Linux的终端有点像。
安装过程参考下面的网址就好了(我就不重复造轮子了= =):
- https://mirror.tuna.tsinghua.edu.cn/help/msys2/
- https://www.jianshu.com/p/04636461341e
首先是安装MSYS2,安装好后,按网址说明的换源,然后输入pacman -Sy 刷新软件包数据,然后挨个安装gcc,g++,make
#安装gcc g++pacman -S mingw-w64-x86_64-toolchain#查询并找到msys/makepacman -Ss make#安装makepacman -S msys/make
最后,把gcc,g++,make添加到Windows系统环境变量。
然后,重启电脑。
在Windows命令行,依次输入 gcc --version 、g++ --version 、 make --version,打印出下图,说明gcc、g++、make安装成功。
然后就是VS Code工程的配置了。
3.VS Code工程的配置
首先,新建一个Demo文件夹,用VS Code打开,然后再分别新建两个文件夹include和src,用于放头文件和源文件,工程如下:
在test.h中随便定义一个宏,在main.cpp中打印出来。
main.cpp
#include <iostream>
#include "../include/test.h"using namespace std;int main(void)
{cout << "Hello, world!" << endl;cout << CONST_VALUE << endl;return 0;
}
test.h
#ifndef __TEST_H
#define __TEST_H#define CONST_VALUE 1234#endif // __TEST_H
基本工程建立完毕。
然后,进行编译配置,按ctrl+shift+p,输入cmake,点击CMake:配置那项:
接着就会在右下角弹出一个窗口,点击create:
然后输入工程名:
选择可执行文件:
这样就会新生成一个CMakeList.txt的CMake文件,这是个简单模板,然后我们根据CMake的语法规则(不懂的自行查一下,比较简单,至少比写makefile的规则简单的多)进行修改如下(注释很清楚):
#CMake 最低版本号要求
cmake_minimum_required(VERSION 3.0.0)#指定工程名
project(Demo VERSION 0.1.0)#指定C/C++编译器
set(CMAKE_C_COMPILER "C:/msys64/mingw64/bin/gcc")
set(CMAKE_CXX_COMPILER "C:/msys64/mingw64/bin/g++")#指定C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)#指定头文件所在的路径
include_directories(${PROJECT_SOURCE_DIR}/include)#在 ${PROJECT_SOURCE_DIR}/src 路径下搜索.cpp源文件
aux_source_directory(${PROJECT_SOURCE_DIR}/src ALL_SRCS)#查找当前目录下的所有源文件
#并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)#指定生成的可执行文件夹的路径
set(EXECUTABLE_OUTPUT_PATH .)#生成可执行文件 main.exe
add_executable(main ${ALL_SRCS})
然后在VS Code的终端,输入 cmake -G “Unix Makefiles” ./ ,(注意这里不是cmake .,但我不知道为什么不行,在ubuntu可以正常跑,有知道的朋友麻烦说下)通过CMake生成Makefile:
可以看到,在工程目录会生成对应本工程的Makefile,生成规则是由我们写在CMakeLists.txt指定的:
再输入make进行编译:
同样,在工程目录会生成对应的可执行文件main.exe(在CMakeLists.txt指定):
然后,直接运行该exe,可以跑我们的程序:
最后,我们再将这些编译运行命令,写成一个build.bat脚本(Ubuntu上就是build.sh文件),真正实现一键编译运行!
build.bat
rm main.exe
rm Makefile
rm CMakeCache.txt
cmake -G "Unix Makefiles" ./
make
.\main.exe
一键编译运行:
一键编译运行的感觉是不是很爽,看着自己的代码慢慢地编译到执行的过程。
OK,至此,在Windows平台使用VScode + Cmake配置C/C++开发环境就完成了!!撒花~~Cheers!!
4. 结束语
- 如果后面要链接动态库、静态库那些,查一下相应的CMake规则就好了;
- 在此过程中,若碰到什么问题,用必应搜一下,照着解决就好,没有什么路是一帆风顺的~;
- 我第一次在Windows上把整个过程跑通也搞了几个小时,Ubuntu上要简单一些。
写这篇博客又花了几个小时= =,希望对读者有帮助吧。
在Win10系统上使用VScode + Cmake配置C/C++开发环境,实现一键编译运行相关推荐
- Ubuntu12.10-amd64系统上搭建Android4.2(JellyBean)源码开发环境
注意:1) 从android4.1开始,编译Android源码必须使用ubuntu 64位系统,所以请预装Ubuntu64位操作系统! 建议去ubuntu官网下载 ubuntu-desktop-### ...
- 如何高效快速地在Linux系统上部署Node.js+Express+MySQL的开发环境(桌面可视化)...
一.前言 可能一些初级前端和我一样,在有些项目需要前后台都一个人打通搞定的时候,对于后台和开发环境的部署还是比较头疼的.特别是Linux系统,由于没有系统接触过,也不太喜欢去记背那么多命令,大部分命令 ...
- 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...
- Python在Win10系统的安装和使用配置
Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 下载 ...
- vscode配置c 环境_SAST Weekly教你在macOS上用VS Code配置C/C++编程环境
SAST Weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普.研究前沿热点介绍.科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享 ...
- win10下的linux占用大小,详解Win10系统上使用Linux之前要知道的几件事
现在微软的官方项目Primordial已经能够在Windows 10中翻译Linux系统指令,并可以原生运行包括shell等核心Linux工具,在win10系统中运行Linux不再是儿戏. Primo ...
- 【记录】在win10系统上安装ubuntu(乌班图)双系统
在win10系统上安装Ubuntu(乌班图)双系统 先说一下Ubuntu系统的优势: ubuntu就是为个人用户打造的系统 桌面特效很炫 运行计算很快 没病毒(linux下的病毒个人电脑是碰不到的) ...
- win10的计算机服务器,Tomcat服务器怎么在Win10系统上搭建-电脑自学网
Tomcat服务器也是经常被用到的一种比较简单的服务器,那么Win10系统怎么配置Tomcat服务器呢?Tomcat服务器怎么在Win10系统上搭建?下面给大家介绍具体的操作步骤. 搭建方法: 必要前 ...
- 解决Pr在win10系统上安装不上问题 Pr2021版-Premiere Pro 2021中文正式版安装教程
Adobe Premiere Pro 2021 for mac 15.2 是一款专业的视频剪辑软件,Premiere Pro 2021 集成了视频采集.剪辑.调色.美化音频.添加字幕等功能,可以帮助你 ...
最新文章
- mysql %用户域_MySQL运维---用户权限及管理
- STL的deque容器
- 【oracle】多个用户的对象 导出导入
- php如何提高程序运行效率,如何提高PHP的运行效率 | 萧小寒
- VS2015+cmake3.8+opencv3.2+opencv-contrib3.2编译及配置步骤
- 作者:刘建楠(1963-),男,就职于中国石油天然气股份有限公司庆阳石化分公司...
- java查漏补缺(基础篇)
- u盘版linux initramfs,Linux_内核升级后 出现initramfs错误问题解决, 出现initramfs找不到/root /hos - phpStudy...
- Linux下进行源码安装时如何避免找不到那些使用--prefix指定目录安装的依赖
- 进销存管理系统是什么?能给企业带来哪些好处?
- 关于电子信息/计算机类专业从业者相关的证书与职称
- 微型计算机原理姚向华答案,微型计算机原理试题答案-微型计算机原理姚向华.doc...
- 31省市数字经济“十四五”规划路线图
- 网站备案 服务器变更,网站变更服务器备案
- Unity 生成随机房间、洞穴(2D、3D地图)总结
- 无线通信中存在的远近效应、多普勒效应、多径效应以及其应对策略
- 游戏《迷你世界》如何吸引小鸡到鸡窝里?这些道具很重要!
- Java代码实现用for循环打印斐波那契数列前20项
- Botnet趋势典型攻击链
- iphone与android共享位置,如何使用“查找我”在iPhone和其他设备上共享您的位置...