在eclipse cdt中链接静态库

Jon*_*lus 20 c++ eclipse static-libraries

对不起!我搜索了很多,但找不到答案!我知道这是愚蠢的.

我无法在eclipse cdt中链接静态库(*.a).我在项目 - >设置 - > GCC C++链接器 - >库中列出了它们.我使用绝对路径来确保我的lib正确...我得到:

找不到-l/usr/local/lib/libboost_date_time.a

无论我做错什么,我都确定这是愚蠢的:(

编辑 - 我应该提到我在运行时链接库...

Ral*_*alf 19

我记得当我在linux下编译我们的代码(来自windows背景)时有一个类似的问题,如果我记得正确指定静态库的绝对路径也没有用.

您是否知道要链接到"libboost_date_time.a",您需要指定"boost_date_time"而不使用"lib"和".a"?在我的情况下解决了这个问题.无论如何,/ usr/local/lib应该在你的道路上.

  • @Ralph ....知道了...需要设置每个目录(-L)然后每个库没有"lib"或".a"感谢... (2认同)

jww*_*jww 15

静态库或归档只是目标文件的集合.

C/C++ Build - > Settings - > C++ Linker - > Miscellaneous下添加存档作为其他对象:

在此输入图像描述

有些人因为指定一个完整的路径名而哭泣.我发现它在实践中有效(有时与理论不同),并且它不比破坏路径文件名差,然后用-L和指定它们-l.我是否提到它实际上在实践中有效...


Mau*_*ana 7

C/C++ General->Paths & Symbols配置屏幕中添加lib时我遇到了类似的问题.

而是C/C++ Build -> settingsGCC C++ Linker / Libraries我的屏幕下添加了没有lib的库名和.a库(-l)中的库名,并在库搜索路径中添加了路径(-L).这解决了我的问题