VS Code 搭建 C/C++/Python/Java 编译环

2020-10-26  本文已影响0人  夏洛克聂

一、编译器设置


GCC

Linux ———— 已经自带,不用安装
Windows —— MinGW-w64

*Clang

为什么要用 Clang?(C/C++: clang 代替 gcc)

[Linux]: sudo apt install llvm clang
[Windows]: LLVM | 打开链接,找到对应安装包并下载,安装时记得勾选添加到环境变量

*CMake

Linux

sudo apt install cmake

Windows
CMake | 打开链接,找到对应安装包并下载,安装时记得勾选添加到环境变量

Python

[Windows]: Python | 打开链接,找到对应安装包并下载,安装时记得勾选添加到环境变量

[Linux]: 自带 Python2

Python3 需要手动下载安装:

Python | 下载解压,在解压所得目录打开终端

编译安装:./configure > make > sudo make install

添加到环境变量:export PATH="$PATH:/usr/local/bin/python"

修改默认编译器: sudo update-alternatives --config python

Java

[Windows]: OpenJDK | 打开链接,找到对应安装包并下载,安装时记得勾选添加到环境变量

[Linux]: OpenJDK | 类似 Windows 下安装 MinGW-w64,下载解压到自定义目录


下载安装:主页 / 官方文档


必备扩展:


快速设置:

设置 > 窗口 > Title Bar Style > custom // Linux版,去除顶栏

头像 > 登录 > 自动同步设置

设置 > 文本编辑器 > 文件 >

Auto Save // 自动保存

Auto Guess Encoding // 自动猜测文本编码

设置 > 功能 > 终端 >

Confirm On Exit // 退出时提醒还有没关的终端

Cursor Blinking // 开启光标闪烁

Cursor Style: line // 竖线式光标

设置 > 扩展 > C/C++ >

Default Compiler Path: "你的安装目录/mingw64/bin" // 让插件能找到头文件,防止烦人的提醒

设置 > 扩展 > Run Code configuration >

Clear Previous Output // 运行时清空上次的输出

File Directory As Cwd // 以文件所在目录为工作目录

Run In Terminal // 在终端运行才可以交互

Save File Before Run // 运行前保存文档

设置 > 扩展 > CMake Tools >

Configure On Open: False // 取消每次打开就自动 make

状态栏左下角: [未选择任何工具包] -> GCC(这步需要在打开具体项目时完成)


修改 Code Runner 的默认编译器为 Clang

设置 > 扩展 > Run Code configuration > Executor Map

把 gcc 改成 clang -target x86_64-pc-windows-gnu

把 g++ 改成 clang++ -target x86_64-pc-windows-gnu

Linux 下不需要加参数 -target x86_64-pc-windows-gnu | 具体原因 |


三、解决一些常见问题


PowerShell 中文输出乱码问题

以管理员身份打开 PowerShell,执行:Set-ExecutionPolicy Unrestricted
在 "我的电脑->文档" 里新建文件夹:WindowsPowerShell
再在里面新建文本文档:Microsoft.PowerShell_profile.ps1

用记事本写入如下内容:

$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

保存后打开 PowerShell,执行 chcp 命令,若显示 Active code page: 65001 则成功。


CMake 相关报错

!"The C/CXX compiler identification is unknown":

原因:运行 cmake - help 可以查看到 Windows 版 CMake 默认生成器不是 MinGW
解决:执行 cmake 时添加参数,如下:cmake -G"MinGW Makefiles" .

!"无法将 “make” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称":

把 mingw64\bin 里面的 mingw32-make.exe 原地复制一份,改名为 make.exe

!cmake 完成后,直接执行 make 不成功 > "No targets specified and no makefile found":

原因:cmake 创建了 build 目录,Makefile 放在 build 里了
解决:先 cd build 再 make

参考:https://zhuanlan.zhihu.com/p/94028777


Windows 窗口程序相关错误

Hello World program using Win32API

!鼠标双击运行编译出来的 main.exe 会有控制台黑窗:

编译时添加参数 -mwindows,像这样:g++ -mwindows main.cpp

C ++ Win32 编程:您的第一个 Windows 程序

!直接编译运行会遇到以下错误: > "undefined reference to 'WinMain'":

原因:wWinMain 是 Unicode 版的 WinMain | 详细解释 |
解决:编译时添加参数 -municode,像这样:g++ -municode main.cpp | 来源 |

上一篇 下一篇

猜你喜欢

热点阅读