符号查找错误(linux - c ++)

时间:2012-02-05 23:27:02

标签: c++ linux linker-errors

我正在研究像Robocup soccerrSim2d在Gnu-linux上的多代理系统。 我的远程是Ubuntu 11.10(内核3.2 - gcc 4.6)

我从源代码安装了librcsc。 (它已成功编译和安装)

然后我从src安装了agent2d。 (它也成功编译和安装!)

但运行agent2d代码时出现问题:(当我运行src/start.sh时:) :( / p>

发生此错误:

  

./ src / sample_player:符号查找错误:   /usr/local/lib/librcsc_agent.so.7:未定义的符号:   _ZN4rcsc9UDPSocketC1EPKci

你怎么看待这些家伙?实际上,“符号查找错误”何时发生?

1 个答案:

答案 0 :(得分:5)

通过c++filt运行该符号表明它是rcsc::UDPSocket::UDPSocket(char const*, int)

由于这确实是rcsc的一部分,因此您需要查看ldd /usr/local/lib/librcsc_agent.so.7librcsc.so.X(对于某些数字X)的条目可能会显示“未找到”。您必须找到相应的库(包括ldd所说的搜索的数字后缀),并将包含它的目录添加到LD_LIBRARY_PATH脚本中的start.sh环境变量中。