2

在 Eclipse 中,我创建了两个库。其中一个是共享的,另一个是静态的。我已经在 Eclipse 中编译了它们,因此创建了一个 Debug 文件夹(用于两个库),这些文件夹包含 make 文件以及目标文件 (*.o) 和依赖项引用文件 (*.d)。除此之外,静态库还包含一个 *.a 文件。

现在我创建一个新项目以及在这个项目中使用这些库的内容。通常,当我使用库时,我会键入#include <libraryname>. 但如果我使用#include <mylibraryname>它不起作用(我得到未解决的包含)。这并不奇怪,因为 Eclipse 应该以某种方式知道我的库所在的位置。所以,我的问题是如何通知 Eclipse 我的库的位置。

已添加按照建议,我执行以下顺序“项目 -> 属性 -> C/C++ 构建 -> 设置 -> 工具设置 -> GCC C++ 链接器 -> 库”。然后,在“库(-l)”文件中添加“StaticList”(因为我有“libStaticList.a”文件)并在“库搜索路径(-L)”文件中给出目录的全名,其中我的“libStaticList.a”位于。然后我点击应用和确定。但这无济于事。Eclipse 不喜欢#include <StaticList>。它抱怨:“未解决的包含......”。

4

2 回答 2

3

#includeing headers 只会让编译器知道这些头文件中的函数存在。这些功能的实际实现需要由链接器链接。这就是您构建的库 ( .a) 文件的来源。查看此线程以获取有关如何使用 Eclipse 链接您的库的示例。

于 2013-01-17T14:48:28.833 回答
0

我认为您需要#include“yourlibrary.cpp”(在双引号之间)而不是<>。

于 2013-01-17T15:17:23.487 回答