我正在尝试运行一个使用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/