我在 Linux 上的 Eclipse Juno (服务第2版)中有 C ++ 项目。
我需要引用第三方库,但其名称包括库的版本:
libThirdParty.so。的 10.1
我试过关注this post。但似乎我有一个旧版本的ld,它不起作用。 (我检查了手册页)
我尝试使用图书馆的全名(路径/名称),但我不知道在哪里添加它,因为它无效。
如果没有版本,我无法创建库的符号链接。
在eclipse中,我应该在哪里引用完整的库名?还有其他方法可以引用该库吗?
答案 0 :(得分:0)
在项目浏览器中选择您的项目,然后按 Ctrl + Enter 。这将弹出属性窗口。
然后,在C/C++ -> Settings
选择Tool Settings Tab
下的Linker -> Libraries
下点击该按钮,添加并编写您要链接到的库名称版本。
警告:请注意,在Linux系统中存在名为 soname 的共享库,请阅读此answer以获取详细说明关于它。
事情是,链接器将查找名为lib<name>.so
的文件,因为您的图书馆名称为libThirdParty.so.10.1
,并且不会以.so
结束{&};匹配这种模式。 这不是你可以用eclipse解决的问题,这是一般的linux行为。如果您的库名是libThirdParty.10.1.so(请注意尾随的.so),那么您可以使用ThirdParty.10.1
作为库eclipse字段中的库名。
Linux使用此名称约定以便更轻松地处理系统中安装的同一lib的各种版本。 您可以不使用符号链接或将库重命名为libThirdParty.10.1.so
来完成您想要做的事。
答案 1 :(得分:0)
我同事帮助我解决了这个问题: