【问题标题】:Can't add static library in Eclipse Juno 8.1.1 CDT C++ project无法在 Eclipse Juno 8.1.1 CDT C++ 项目中添加静态库
【发布时间】:2012-11-24 15:29:06
【问题描述】:

我一直在尝试查找如何将静态库链接到我的 Eclipse CDT 项目的指南,但我找不到。我已经尝试过使用 Visual Studio 2010 编译器和 MiNGW。

我使用 Windows 和 Eclipse Juno 8.1.1,在 Project Settings -> C/C++ Build -> Settings 我有这样的东西:

库管理器:

路径和符号:

【问题讨论】:

    标签: c++ eclipse linker static-libraries eclipse-cdt


    【解决方案1】:

    您必须在库 (-l) 中添加不带 lib 和 .a 的库名称,并在库搜索路径 (-L) 中添加路径。

    不过,这个问题也在 this 堆栈中得到解决。

    同样在site你可以找到很多有用的信息和关于如何包含链接库的解释。

    编辑

    如文档中所述:

    问。如何将静态库文件添加到项目中? (libmtm.a等文件)

    A.首先,您需要将该文件复制到您的 Eclipse 项目中。您可以通过简单地将其拖到 Eclipse 的“项目资源管理器”树中的项目文件夹中来做到这一点。 链接库(静态库的使用与目标文件类似):

    1. 打开项目,属性。
    2. 在该对话框中选择“C++ Build, Settings”。
    3. 在“工具设置”选项卡下选择“链接器”或“MinGW C 链接器”或等效项,然后选择“库”。
    4. 在“库”下,按“添加...”按钮(绿色十字)并写入库名称,不带“lib”前缀和“.a”后缀。例如为了链接库文件 libmtm.a 写入“mtm”。
    5. 在“库搜索路径”下按“添加...”按钮,选择工作区并选择项目。

    【讨论】:

    • 所以我应该把例如定义中的“-lmtm”和“-L/relative/path/to/lib/”?
    • 你是对的。几天前我发现了这个网站,但这适用于 Eclipse 7.0.2 版。在 8.0.2 或 8.1.1 中没有“MinGW C Linker”选项卡。我认为唯一的选择是将“-lmtm”和“-L/path/to/lib”添加到定义中。
    • 不,我已经尝试了所有可能性(使用 -l 和 -L)但没有运气 - 即使在 7.0.2 Eclipse 中也找不到该库(那里只有绝对路径有效)跨度>
    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 2011-06-24
    • 2014-01-11
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2011-11-18
    相关资源
    最近更新 更多