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<name>
的链接是正确的。
按照您的步骤,我遇到了与您相同的问题。我使用 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 找不到库的主要内容,如果未能解决你的问题,请参考以下文章
在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到
CMake Project in Visual Studio 2019