繁体   English   中英

C ++:eclipse CDT中的外部库

[英]C++: External library in eclipse CDT

现在我使用eclipse CDT作为我的C / C ++应用程序,但是当我链接我的外部库时出现问题,它无法在运行时正确加载,即使我把库文件放在源文件附近,我给了库路径,它的名称正确。

项目目录:

  1. 包括(.h文件)
  2. 来源(.cpp。文件..)
  3. LIB(libbozorth3.a,LSFMatcher.a)

我希望链接静态库与我的应用程序我按照以下步骤:

  1. project-> properties-> general-> path和symbols-> include目录路径和库(bozorth3.a,LSFMatcher.a),并添加库路径。
  2. 我也在链接器部分添加了相同的库

当我构建程序时显示错误找不到-lbozorth3.a无法找到-lLSFMatcher.a

所以我需要正确的步骤将外部库添加到c / c ++应用程序。

我通常配置

  1. 图书馆
  2. 库搜索路径(需要编译)
  3. 运行时搜索路径(-rpath链接器选项)

(请参阅下面的图像并将链接器标记中的路径交换为您在库搜索路径中使用的路径)

图书馆搜索路径运行时搜索路径的链接器选项

你应该使用-Wl,-rpath=${workspace_loc}/Liball-Wl,-rpath=${workspace_loc}/Liball而不是-Wl,-rpath=${workspace_loc}/Liball-Wl,-rpath=${workspace_loc}/Liball -Wl,-rpath,${workspace_loc}/Liball

同样在库-l选项下添加库,例如。 对于libgcc.a只添加gcc

您应该注意括号中的内容:其他选项(-Xlinker [option])。

传递选项的方式是不同的。 而不是使用:

-Wl,-rpath,'${ProjDirPath}/../../system/lib'

你必须使用:

-rpath '${ProjDirPath}/../../system/lib'

也就是说,删除“-Wl”,并用“”(空格)替换第二个“,”。

在此输入图像描述

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM