我正在尝试用C ++运行程序,但是我收到了这个错误:
terminate called after throwing an instance of 'Ogre::InternalErrorException' what(): OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library /usr/lib/OGRE/RenderSystem_GL. System Error: /usr/lib/OGRE/RenderSystem_GL.so: cannot open shared object file: No such file or directory
我已经安装了Ogre库,但这个问题仍然存在。我需要安装哪些软件包才能解决此错误?我使用的是Ubuntu 14.04。
答案 0 :(得分:4)
Ubuntu提供的OGRE库安装在/usr/lib/x86_64-linux-gnu/OGRE-1.9.0/
(或-1.8.0
),而不是/usr/lib/OGRE/
。
您的程序正在尝试dlopen
或类似的绝对路径。如果您无法修改程序以使其使用新路径(或者更好,它允许链接器决定使用哪条路径),最简单的解决方案是创建符号链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/ /usr/lib/OGRE/
答案 1 :(得分:0)
尝试使用ldd YOUR_BINARY查看是否可以找到所需的动态链接库。