C ++:eclipse CDT中的外部库

时间:2012-01-12 12:12:09

标签: c++ linux eclipse eclipse-cdt

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

项目目录:

  1. 包括(.h文件)
  2. source(.cpp。files ..)
  3. LIB(libbozorth3.a,LSFMatcher.a)
  4. 我想要将静态库链接到我的应用程序我遵循以下步骤:

    1. project-> properties-> general-> path和symbols->包含目录路径和库(bozorth3.a,LSFMatcher.a),并添加库路径。
    2. 我也在链接器部分添加了相同的库
    3. 当我构建程序时,它会显示错误 找不到-lbozorth3.a 找不到-lLSFMatcher.a

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

3 个答案:

答案 0 :(得分:12)

我通常配置

  1. 图书馆
  2. 库搜索路径(需要编译)
  3. 运行时搜索路径(-rpath链接器选项)
  4. (参见下图并将链接器标记中的路径交换为您在库搜索路径中使用的路径)

    Library Search path Linker options for runtime search path

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

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

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

您必须使用:

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

即删除" -Wl,"并取代第二个"," by" " (空间)。

enter image description here

enter image description here