我已经按照一些说明构建了Visual Studio代码C/C++编译和调试环境。但是g++编译器只能编译选定的cpp文件,因此与cpp文件相关的包含的.h文件无法编译。然后终端显示“架构 x86_64 的未定义符号”错误。代码如下:
啊文件
int func();
a.cpp 文件
include <iostream>
include "a.h"
using namespace std;
int func(){
return 111;
}
main.cpp 文件
include "a.h"
using namespace std;
int main()
{
int b = func();
cout << b << endl;
}
Visual Studio 代码将使用如下命令
g++ directory/main.cpp -o directory/main.out -g -Wall -fcolor- diagnostics -std=c++11
此命令将引发“架构 x86_64 的未定义符号”错误我可以使用此新命令修复它
g++ main.cpp a.cpp -o main.out.
所以问题是如何配置这些 json 文件来修复 g++ 编译问题。而当我想使用一些库如FFMpeg时,如何正确链接FFMpeg .h文件。
原文由 Hu Gforce 发布,翻译遵循 CC BY-SA 4.0 许可协议
我让它工作的一种方法是进入你的构建任务,而不是说
"g++ ${file}"
,而是你可以将目标文件设置为编译为"g++ ${fileDirname}/**.cpp"
这将编译所有目录中的 .cpp 文件。这样,您可以对一个项目使用相同的构建任务,在该项目中,您可能在不同的文件夹中有多个程序,所有程序都在同一个伞形目录下。