Eclipse 找不到库

Posted

技术标签:

【中文标题】Eclipse 找不到库【英文标题】:Eclipse cannot find library 【发布时间】:2016-07-18 09:24:39 【问题描述】:

我在 Eclipse 中将库添加到我的 c 项目时遇到问题。我有库 *.lib 我必须添加到我的项目中。我已将它们添加到“路径和符号-> 库”(仅库的名称)中,并将库目录的路径添加到“路径和符号-> 库路径”中)

我按照用户指南中的内容执行所有操作,但链接器显示他找不到此库。有什么想法吗?

【问题讨论】:

您还必须为您使用的每个库添加链接器标志,例如-l<library-name>。例如,-lACE 代表 libACE.so 当我将库添加到路径和符号时,我在 c/c++ build/linker/settings 中自动拥有它,并且库中有一个完整目录 确实如此。我发布了我在答案中找到的内容。 【参考方案1】:

简而言之:

将库从完整路径编辑为库名称,例如:

<path>/lib<name>.so to <name>

这将导致与标志 -l&lt;name&gt; 的链接是正确的。


按照您的步骤,我遇到了与您相同的问题。我使用 ACE 库进行测试。

我将 ACE 库添加到 Project/Properties/C/C++ General/Paths and Symbols/Libraries

我将库路径添加到Project/Properties/C/C++ General/Paths and Symbols/Library Paths

在那之后,Project/Properties/C/C++ Build/Settings/Libraries 我得到了:

/usr/local/lib/libACE.so 作为图书馆。 /usr/local/lib 作为库路径。

这导致与标志-l/usr/local/lib/libACE.so 链接,这是不正确的。据我所知,使用-l 标志时不应该有lib 前缀。

当我将Project/Properties/C/C++ Build/Settings/Libraries 中的/usr/local/lib/libACE.so 更改为ACE 时,链接正常。


这是我编译的测试代码:

#include <ace/Time_Value.h>

int main() 

    ACE_Time_Value t;
    t.msec(1000);


【讨论】:

谢谢,还是找不到这个库

以上是关于Eclipse 找不到库的主要内容,如果未能解决你的问题,请参考以下文章

c++文件中jni库找不到报红

.netcore类库找不到main函数

在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到

CMake Project in Visual Studio 2019

CMake Project in Visual Studio 2019

PADS找不到元件封装项目?