我正在尝试运行使用LD_PRELOAD
预加载我的库的程序。在运行时,程序会抛出以下错误。
ld.so.1:gdbser64:致命:重定位错误:文件libmy.so:符号 _ZN10__cxxabiv118register_exit_codeEPFYvvE:未找到引用的符号
libmy.so
未在任何地方使用register_exit_code
符号。可能是由libmy.so链接的标准库正在使用该函数。但我无法找到谁使用此符号或谁定义了它。
它位于Solaris
,使用CC(solaris cpp compiler)
编译。
答案 0 :(得分:1)
是否所有的源文件/库都使用-std = c ++ 0x构建?
否则,Oracle docs建议如果您使用-lstdc ++进行链接,则应使用-lstdc++ -lgcc_s -lCrunG3