C++开发环境配置
作者:谭九鼎 链接:https://www.zhihu.com/question/30315894/answer/154979413
有改动
补充知识
- 编译器是把源代码变成可执行文件的,编辑器是你打字的软件。记事本就是一个编辑器,VSC也是编辑器。编辑器是无法编译运行程序的,因为那是编译器的工作
- MinGW是gcc在Windows下的移植,gcc是世界上最流行的C/C++编译器组合。但gcc这个名字也指编译C语言的那个程序,g++才是C++编译器。即gcc程序和g++程序包含在gcc套件以及MinGW里,当只说gcc时要根据语境自己区分
- 其实MinGW和MinGW-w64只是名字像,它们是两个不同的项目。为了方便,本文中的MinGW指的其实都是MinGW-w64。MinGW本身已经很久没有更新了,不使用它哎呀,原来MinGW是活着的,但它只能产生32位程序
- 扩展是extension,插件是plugin,VSC用的是前者这种称呼。大部分文章都是混用两者的,不严谨但是能理解就行,要学会抓主要矛盾。当然本文用的都是正确的
- 可选阅读:[原创][科普]MinGW vs MinGW-W64及其它、What is difference between sjlj vs dwarf vs seh?
步骤
下载编译器:MinGW-w64 - for 32 and 64 bit Windows 往下稍微翻一下,选最新版本中的x86_64-posix-seh。不要用 Download Latest Version,这个是在线安装包,可能因为国内的“网络环境”下载失败。
“安装”编译器:下下来的是一个7z的压缩包。解压完了放到一个不容易被删的地方,层叠的可以去掉一些。看好bin文件夹的完整路径,我图里的是C:mingw64bin,把它加到环境变量中的PATH里去。
Debian系Linux用sudo apt update; sudo apt install build-essential即可。
![8b8c25ce1093be9caed3d10f869a18fa.png](https://i-blog.csdnimg.cn/blog_migrate/b1f97dcbc72091d418787fedb144202b.png)
![8b8c25ce1093be9caed3d10f869a18fa.png](https://i-blog.csdnimg.cn/blog_migrate/b1f97dcbc72091d418787fedb144202b.png)
![e93a7d72f3620443888dd0fc6b54eb80.png](https://i-blog.csdnimg.cn/blog_migrate/b94ecec39f1721f616146c58449a36fa.jpeg)
![e93a7d72f3620443888dd0fc6b54eb80.png](https://i-blog.csdnimg.cn/blog_migrate/b94ecec39f1721f616146c58449a36fa.jpeg)
顺序不重要;路径可以不一样,反正保证gcc.exe在那个文件夹里就行
验证
按Win+R,运行cmd(不要跳这一步),输入gcc,应该会提示 no input files 而不是“不是内部命令或外部命令”或者“无法将 "gcc" 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”。如果是“不是内部命令或外部命令”,说明gcc在的文件夹没有在环境变量的Path中,要加进去才行。如果加了还是这样,重启。如果重启了还不行,那就是你自己进行的操作有问题。
输gcc -v可以显示出gcc的版本。如果显示出来的版本与你刚下的不同/更老,说明Path里原本有老版本的编译器,可能是安装其它IDE时装上的。则需要去掉Path里原来的那一个gcc的路径。
这两项验证一定要符合,否则必须修改环境变量。小心别错删了。
![d47ce77c286c6bcea8bb4c7ee38552da.png](https://i-blog.csdnimg.cn/blog_migrate/7354a18472f215154f890cb771b43260.jpeg)
![d47ce77c286c6bcea8bb4c7ee38552da.png](https://i-blog.csdnimg.cn/blog_migrate/7354a18472f215154f890cb771b43260.jpeg)
![9c4459bfee0d34c92e5766f224bd2353.png](https://i-blog.csdnimg.cn/blog_migrate/e35e3fa66b884623c3371c150be0af39.png)
![9c4459bfee0d34c92e5766f224bd2353.png](https://i-blog.csdnimg.cn/blog_migrate/e35e3fa66b884623c3371c150be0af39.png)