vscode 编译C++ 程序

1 单文件编译

在安装了 Code Runner 插件后,可以直接点击左上角运行按钮运行。
vscode 编译C++ 程序_第1张图片
这个插件实际上是运行了一下的命令:

cd "f:\c++\test\" ; if ($?) { g++ test.cpp -o test } ; if ($?) { .\test }

这样就可以生成对应的 .exe 文件。可以运行 xxx.exe 文件来测试效果。

2 多文件编译 (有问题待解决)

我是安装了C/C++ project generator 插件创建了一个project.
在这里插入图片描述
创建后的文件目录如下:
vscode 编译C++ 程序_第2张图片
在对应的文件下写入多个 .cpp 文件:
vscode 编译C++ 程序_第3张图片
如果按照单文件直接运行 main.cpp 会报如下的错误。
在这里插入图片描述
这是因为它实际运行的命令是:

cd "f:\c++\exp2\src\" ; if ($?) { g++ main.cpp -o main } ; if ($?) { .\main }

并没有指定对应的头文件文件夹。如果将命令手动改为:

 g++ .\main.cpp .\sw.cpp -I ..\include\ -o main  

这样通过 -I ..\include\ 指定了头文件的文件夹目录则不会报错。

更简单的方法则是直接按 F5 或者是 Run>Start Debugging进行编译和debug。实际它运行的任务是:
vscode 编译C++ 程序_第4张图片
存在的疑惑为:

g++ -std=c++17 -Wall -Wextra -g -Iinclude -c src/main.cpp  -o src/main.o
g++ -std=c++17 -Wall -Wextra -g -Iinclude -c src/sw.cpp  -o src/sw.o
g++ -std=c++17 -Wall -Wextra -g -Iinclude -o output\main.exe src/main.o src/sw.o  -Llib

这3行命令是在哪里定义的。

你可能感兴趣的:(实用笔记,c++,vscode,开发语言)