VSCode中如何修改g++/clang++的默认-o编译选项?
解决VSCode中g++/clang++编译配置问题
一、修改输出文件为.out后缀并存放于代码目录
直接在偏好设置的Cpp flags里加-o会报错,是因为VSCode的默认编译任务(tasks.json)里已经自带了-o参数,重复添加就会冲突。正确做法是直接修改编译任务的参数:
- 按
Ctrl+Shift+P打开命令面板,输入Tasks: Configure Task,选择对应的编译任务(比如C/C++: g++ build active file) - 在打开的tasks.json文件中,找到
args数组,定位到默认的输出参数行(类似"-o", "${fileDirname}/output/${fileBasenameNoExtension}") - 将其替换为
"-o", "${fileDirname}/${fileBasenameNoExtension}.out" - 保存文件后,重新编译就能在当前代码目录生成带
.out后缀的可执行文件
二、让终端直接编译默认使用C++17标准
VSCode偏好设置里的C++标准配置只对内置的编译任务生效,终端直接敲g++/clang++命令时不会读取这些设置。可以通过设置命令别名解决:
- 如果用bash,编辑
~/.bashrc文件,添加两行:alias g++='g++ -std=c++17' alias clang++='clang++ -std=c++17' - 如果用zsh,编辑
~/.zshrc文件添加同样内容 - 保存后执行
source ~/.bashrc(或source ~/.zshrc)使设置生效,之后终端里直接敲g++命令就会默认带上-std=c++17参数
内容的提问来源于stack exchange,提问作者steffner
相关产品推荐
相关产品推荐

