在.so
中加载R
文件时,我得到了
undefined symbol: _ZN5boostlsIcSt11char_traitsIcEdEERSt13basic_ostreamIT_T0_ES7_RKNS_8optionalIT1_EE
解压缩产生
std::basic_ostream<char, std::char_traits<char> >& boost::operator<< <char, std::char_traits<char>, double>(std::basic_ostream<char, std::char_traits<char> >&, boost::optional<double> const&)
我不知道符号要求来自哪里。 /boost/optional/optional_io.hpp
定义了这样一个运算符,但它是一个内联定义。
从哪里开始?我可以找出哪个代码需要这个符号吗?
答案 0 :(得分:0)
我去了中间目录并做了
for x in *.o; do echo $x; nm $x | grep "_ZN5boostlsIcSt11"; done
这使我能够追踪编译单元,这反过来又让我找到(手动)有问题的代码。