对不起!我搜索了很多,但找不到答案!我知道这是愚蠢的。
我无法在eclipse cdt中链接静态库(* .a)。我在Project-> Settings->中列出了它们。 GCC C ++链接器 - >库。我使用绝对路径来确保我的lib正确...我得到:
找不到-l / usr / local / lib / libboost_date_time.a
我确信无论我做错什么都是愚蠢的:(
编辑 - 我应该提到我在运行时链接库...
答案 0 :(得分:19)
我记得当我在linux下编译我们的代码(来自windows背景)时有一个类似的问题,如果我记得正确指定静态库的绝对路径也没有用。
您是否知道要链接到“libboost_date_time.a”,您需要指定“boost_date_time”而不使用“lib”和“.a”?在我的情况下解决了这个问题。无论如何,/ usr / local / lib应该在你的道路上。
答案 1 :(得分:15)
静态库或存档只是目标文件的集合。
在 C / C ++ Build - >下添加存档为其他对象。设置 - > C ++链接器 - >其它:
有些人因为指定一个完整的路径名而哭泣。我发现它在实践中有效(有时与理论不同),并且它不比打破路径和文件名,然后用-L
和{指定它们更糟糕{1}}。我是否提到它实际上在实践中有效......
答案 2 :(得分:7)
在C/C++ General->Paths & Symbols
配置屏幕中添加lib时,我遇到了类似的问题。
而是在C/C++ Build -> settings
下的GCC C++ Linker / Libraries
屏幕上,我在库(-l)中添加了没有lib和.a
的库名,并在库搜索路径(-L)
中添加了路径。这解决了我的问题