运行服务器并尝试连接到 Web 套接字时,出现执行错误:
./cameraserver: symbol lookup error:
/home/ivan/Desktop/jderobot/JdeRobot/src/stable/interfaces/cpp/jderobot/libJderobotInterfaces.so:
undefined symbol: _ZN11IceInternal11BasicStream5writeEx
如果我这么做,ldd
我会看到:
libcolorspacesmm.so => /home/ivan/Desktop/jderobot/JdeRobot/src/stable/libs/visionlib/colorspaces/libcolorspacesmm.so (0x00007f1c289da000)
libJderobotInterfaces.so => /home/ivan/Desktop/jderobot/JdeRobot/src/stable/interfaces/cpp/jderobot/libJderobotInterfaces.so (0x00007f1c284de000)
这两个文件不存在。两者都在:/usr/local/lib/jderobot/
如何更改 .so 文件的路径?
我正在使用 Ubuntu 14.04。
答案1
如果不了解问题的背景,就很难给出具体的解决方案。
作为一种解决方法,您可以创建符号链接:
ln -s /where/it/is /where/it/needs/to/be
因此,对于你的情况:
ln -s /usr/local/lib/jderobot/libcolorspacesmm.so /home/ivan/Desktop/jderobot/JdeRobot/src/stable/libs/visionlib/colorspaces/libcolorspacesmm.so
ln -s /usr/local/lib/jderobot/libJderobotInterfaces.so /home/ivan/Desktop/jderobot/JdeRobot/src/stable/interfaces/cpp/jderobot/libJderobotInterfaces.so