c++ - 未找到引用的符号

标签 c++ solaris

我正在尝试运行一个使用LD_PRELOAD预加载我的库的程序。在运行时,程序抛出以下错误。

ld.so.1: gdbser64: fatal: relocation error: file libmy.so: symbol _ZN10__cxxabiv118register_exit_codeEPFYvvE: referenced symbol not found

libmy.so 未在任何地方使用 register_exit_code 符号。 libmy.so 链接的标准库可能正在使用该函数。但我无法找到谁在使用这个符号或谁定义了它。

它在Solaris上运行,使用CC(solaris cpp编译器)编译。

最佳答案

您的所有源文件/库都是使用 -std=c++0x 构建的吗?

否则,Oracle docs建议如果您使用 -lstdc++ 链接,那么您应该使用 -lstdc++ -lgcc_s -lCrunG3

关于c++ - 未找到引用的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47767159/

相关文章:

c++ - 32位操作系统支持64位无符号整数!!如何?

c++ - 将耦合类拆分为单独的 header

c++ - 编译 Caffe C++ 分类示例

c++ - 使用 C++ 获取在后台执行的命令的实际进程 ID

c# - 从 C# 将资源嵌入到 native exe

c++ - 如何使用静态回调访问对象属性?

Perl - 如何在 Solaris 10 上解压 psinfo 二进制文件

java - Solaris:在应用程序的处理程序上安装文件系统

linux - 查看同一用户在其他终端输入命令的历史记录

linux - Linux 和 Solaris 之间的 RPC 通信