首页 > 后端开发 > C++ > 为什么使用 GCC 编译 C 代码时会出现'未定义符号 '___gxx_personality_v0'\”错误?

为什么使用 GCC 编译 C 代码时会出现'未定义符号 '___gxx_personality_v0'\”错误?

Linda Hamilton
发布: 2024-11-23 13:09:11
原创
662 人浏览过

Why Do I Get the

GCC Builds 中未定义符号“___gxx_personality_v0”

使用命令行 gcc test.cpp 编译 C 代码时,开发者可能会遇到错误:

Undefined symbols:
  "___gxx_personality_v0", referenced from:
  etc...
登录后复制

出现此错误是因为 gcc 的目的是编译C代码。要构建 C 代码,请使用 C 编译器 g:

g++ test.cpp
登录后复制

或者,如果必须使用 gcc,请将 -lstdc 标志添加到命令行:

gcc test.cpp -lstdc++
登录后复制

此标志链接标准 C 库,其中包含必要的符号。

对两个 g 生成的可执行文件 (.a.out) 运行 md5和带 -lstdc 的 gcc 产生相同的输出,表明它们是等效的。

因此,通常建议使用 g 来编译 C 代码,以实现简单性和兼容性。

以上是为什么使用 GCC 编译 C 代码时会出现'未定义符号 '___gxx_personality_v0'\”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板