作者:wurtjq | 2023-09-04 08:02
我用这个命令行得到了这个未定义的符号构建:
$ gcc test.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
etc...
test.cpp很简单,应该很好.这笔交易是什么?
1> ryan_s..:
使用
g++ test.cpp
相反,因为这是c ++代码.
或者,如果您真的想使用gcc
,请添加-lstdc++
到命令行,如下所示:
gcc test.cpp -lstdc++
md5
针对a.out
每个场景下生成的内容运行表明它是相同的输出.
但是,是的,g++
可能会让你的世界变得更加简单.
@Pax Diablo:是的,它使用了正确的_compiler_,但是,g ++将libstdc ++传递给链接器,而gcc没有.:-P
这不一定是疲倦或愚蠢.我看到很多人回答使用g ++而不是gcc,但这是不好的答案.人们询问和搜索可能没有这种选择.我正在使用具有C和C++版本的库,我正在编写一个C程序.链接到这些库中的一些使我必须链接到stdc ++,我甚至必须使用-L指定在/ usr/lib/gcc中找到它的位置.
我自己犯了同样的错误,至少是我记忆中的两倍.:-)
我虽然gcc是识别cpp文件并将其传递给正确编译器的前端.