Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;:eclipsecdt中的外部库_C++_Linux_Eclipse_Eclipse Cdt - Fatal编程技术网

C++ C++;:eclipsecdt中的外部库

C++ C++;:eclipsecdt中的外部库,c++,linux,eclipse,eclipse-cdt,C++,Linux,Eclipse,Eclipse Cdt,现在我正在为我的C/C++应用程序使用EclipseCDT,但是当我链接我的外部库时出现了问题,它无法在运行时正确加载,即使我将库文件放在源文件附近,我也正确地给出了库路径和名称 项目目录: 包括(.h文件) 源(.cpp.files..) lib(libbozorth3.a,LSFMatcher.a) 我希望将静态库链接到我的应用程序。我遵循以下步骤: 项目->属性->常规->路径和符号->包括目录路径和库(bozorth3.a、LSFMatcher.a),并添加库路径 我还在链接器部分添加了

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

项目目录:

  • 包括(.h文件)
  • 源(.cpp.files..)
  • lib(libbozorth3.a,LSFMatcher.a)
  • 我希望将静态库链接到我的应用程序。我遵循以下步骤:

  • 项目->属性->常规->路径和符号->包括目录路径和库(bozorth3.a、LSFMatcher.a),并添加库路径
  • 我还在链接器部分添加了相同的库
  • 当我构建程序时,它会显示一个错误 找不到-lbozorth3.a 找不到-lLSFMatcher.a

    因此,我需要正确的步骤将外部库添加到c/c++应用程序中

    我通常配置

  • 图书馆
  • 库搜索路径(编译所需)
  • 运行时搜索路径(-rpath链接器选项)
  • (请参阅下面的图片,并将链接器标志中的路径与库搜索路径中使用的路径交换)


    您应该使用
    -Wl,-rpath=${workspace\u loc}/Liball
    而不是
    -Wl,-rpath,${workspace\u loc}/Liball


    另外,在library-l选项下添加libgcc.a等库,只添加gcc

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

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

    -Wl,-rpath,'${ProjDirPath}/../../system/lib'
    
    您必须使用:

    -rpath '${ProjDirPath}/../../system/lib'
    
    即删除“-Wl”,并将第二个“,”替换为“(空格)


    您是否考虑过:?这不是一个完整的答案。这取决于FSACCILOTO提供的答案。也许你应该把它移到评论中,这样他就可以更正他的帖子,或者你应该在你的帖子中添加更多细节,这样它就是一个完整的答案。