【发布时间】:2013-07-27 05:19:43
【问题描述】:
我正在使用名为ohNet 的框架构建应用程序。
构建框架后,可以通过make install 安装框架。默认情况下,这些库安装在 /usr/local/[lib|include] 文件夹中。好的。
我正在使用 Eclipse 进行开发。为了使用这个库,我必须设置库的包含路径(在本例中为 usr/local/include/ohNet),设置链接器搜索路径(-L)(/usr/local/lib/ohNet)和特定库(-l)(在本例中我选择了一个名为libohNet.so 的库,它在此文件夹中是。
当我在 Eclipse 中构建项目时,它工作正常,但是如果我尝试运行该程序,我会遇到以下消息:
error while loading shared libraries: libohNet.so: cannot open shared object file: No such file or directory
我已经仔细检查过,文件libohNet.so 就在这个目录中!
找不到这个文件是什么原因?
我在谷歌上搜索并找到了一些帖子,说库安装到/usr/local/lib而不是/usr/libsee here是有问题的...
我是否必须在eclipse 中配置一些其他设置才能使ld 识别此路径中的库?有什么办法解决这个问题?
问候
【问题讨论】:
-
将
-L /usr/local/lib添加到您的链接器行。 -
我已经将链接器搜索路径设置为
/usr/local/lib/ohNet -
那么您需要检查您是否可以真正读取该文件,并且它是正确的 .so 文件类型 - 例如,混合 32 位和 64 位?
标签: c++ eclipse build linker libraries