Eclipse CDT Auto包含共享库

时间:2011-03-16 15:40:18

标签: c++ eclipse g++ shared-libraries eclipse-cdt

我在Eclipse中工作:Helios Service Release 1使用Eclipse CDT编译使用g ++

我刚刚开始在我的项目中使用共享库,但遇到了一个小问题。我有三个项目A,B和C. A和B都是共享库,C是可执行文件。

在eclipse下我设法从C和C编译引用A和B并正确运行但是当我尝试在Eclipse之外手动运行生成的C程序时,我得到以下错误:

加载共享库时出现错误:libA.so:无法打开共享对象文件:没有这样的文件或目录

我已经尝试将A.so B.so和C移动到同一个文件夹中并运行C但是我得到了同样的错误。

我可以让Eclipse构建我的项目,同时将所有文件放在同一个地方,当我将它们移动到新位置时它们仍然可以运行吗?

2 个答案:

答案 0 :(得分:7)

以root身份运行ldconfig以更新缓存 - 如果仍然没有帮助,则需要添加文件ld.so.conf的路径(只需在自己的行中输入)或更好然后,将条目添加到目录ld.so.conf.d中的新文件(更容易删除)。

答案 1 :(得分:2)

您只需将LD_LIBRARY_PATH设置为包含共享库所在的文件夹即可。 这样的事情:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/lib/