2012-01-12 44 views
6

現在我正在使用eclipse CDT作爲我的C/C++應用程序,但是當我連接外部庫時出現問題,它在運行時無法正確加載,即使通過將庫源文件附近的文件,我給了庫路徑,它的名字是正確的。C++:Eclipse中的外部庫CDT

項目目錄:(.cpp文件..)

  1. 包括(.h文件)
  2. LIB(libbozorth3.a,LSFMatcher.a)

我想鏈接靜態庫與我的應用程序我按照此步驟:

  1. project-> properties-> general-> path和symbols-> include目錄路徑,和庫(bozorth3.a,LSFMatcher.a),並添加庫路徑。
  2. ,也是我加入同一個庫中的連接部分也

當我建立它顯示一個錯誤的程序 找不到-lbozorth3.a 找不到-lLSFMatcher.a

所以我需要將外部庫添加到c/C++應用程序的正確步驟。

+0

你考慮:http://stackoverflow.com/questions/8370809/how-to-add-a-library-to-eclipse-c-project? – Dyonisos 2012-01-12 13:34:26

回答

12

我通常配置

  1. (所需的編圖)
  2. 運行搜索路徑(-rpath鏈接選項)

(請參閱下面的圖像庫搜索路徑並將鏈接器標誌中的路徑交換爲您在庫搜索路徑中使用的路徑)

Library Search path Linker options for runtime search path

1

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

也在庫-l選項下添加庫如eg。爲libgcc.a添加僅gcc

+0

這不是一個完整的答案。這取決於FSaccilotto提供的答案。也許你應該將它轉移到評論中,以便他可以糾正他的帖子,或者你應該添加更多的細節給你的,所以這是一個完整的答案。 – Dzyann 2014-07-22 16:28:15

0

您應該注意圓括號中的內容:其他選項(-Xlinker [option])。

傳遞選項的方式不同。而不是使用:

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

您必須使用:

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

也就是說,去掉 「輪候冊,」 並替換第二 「」 用 「」(空格)。

enter image description here

enter image description here