2012-01-12 16 views
6

私はC/C++アプリケーションのためにEclipse CDTを使用していますが、外部ライブラリをリンクすると問題があります。ソースファイルの近くのファイル、私はライブラリのパスを与え、それは正しく名前です。C++:eclipse CDTの外部ライブラリ

プロジェクトディレクトリ:

  1. (.hファイル)が含ま
  2. ソース(.CPPファイル..)
  3. LIB(libbozorth3.a、LSFMatcher.a)

私はこのアプリケーションに静的ライブラリをリンクしたいと思っています。この手順に従います:

  1. プロジェクト - >プロパティ - >一般 - >パスとシンボル - >ディレクトリパスとライブラリ(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

答えて

12

私は普通

  1. ライブラリ
  2. 実行時の検索パスを(-rpathリンカオプション)

(下の画像を参照してください(compiliationに必要)

  • ライブラリ検索パスを設定しますLinkerフラグのパスをライブラリ検索パスで使用したものと交換してください)

    Library Search path Linker options for runtime search path

  • 1

    あなたは-Wl,-rpath=${workspace_loc}/Liballなく-Wl,-rpath,${workspace_loc}/Liballを使用する必要があります。

    ライブラリ-lオプションの下にも、たとえば、 libgcc.aのみを追加するgcc

    +0

    これは完全な答えではありません。それはFSaccilottoが提供する答えに依存します。たぶんあなたは彼が彼の投稿を修正することができるようにコメントにそれを移動する必要がありますか、それは完全な答えですので、あなたの詳細を追加する必要があります。 – Dzyann

    0

    括弧内の項目に注意してください。その他のオプション(-Xlinker [オプション])。

    オプションを渡す方法は異なります。代わりに使用する:

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

    をあなたは使用する必要があります、 ""(スペース)で "" "-Wl" を削除し、二を交換され

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

    を。

    enter image description here

    enter image description here