2017-06-14 4 views
2

上の外部ライブラリは、私はYocto ADTプラグインとEclipseルナを使用してAutotool群プロジェクトを構築しようとしています。 私はいくつかの外部ライブラリをプロジェクトに追加し、より具体的にはブーストライブラリにする必要があります。 最も簡単なシナリオを考えてみましょう:ヘッダーのみのライブラリ。 #自分のプロジェクトに#includeできるはずです。 私はテストコードにコンパイルしようとしている:もちろんAutotool群プロジェクトとEclipse

#include <iostream> 
#include <boost/lambda/lambda.hpp> 

using namespace std; 

int main(void) { 
     cout << "Hello World" << endl; /* prints Hello World */ 
     return 0; 
} 

をしかし、私はエラーを取得しています:「そのようなファイルやディレクトリはありません致命的なエラー:ブースト/ラムダ/ lambda.hpp」私は、ライブラリをどこに見つけるかをコンパイラに伝えなければならない。 私は違う方法でやろうとしましたが、何も成功しませんでした。いくつかの例を作るために : プロジェクト - >プロパティ - > C/C++一般 - >パスとシンボルがあり 私がダウンロードしたライブラリ用とコンパイルされたライブラリ(この場合に必要なく、一般性のために追加されていない)のパスを指定:

ザ・が含ま

enter image description here

が正しくプロジェクトエクスプローラで報告が、エラーが永続化されます。

それから私は、プロジェクトで作業しようとした - >プロパティ - > C/C++一般 - >プリプロセッサを含める:

enter image description here

はまだ同じエラーを取得します。

私は-Iオプションを追加することAutotool群を構成する含めるその後、試してみました:

enter image description here

もちろん、それはどちらか成功しませんでした。 失敗したビルドの試行のたびに、私は "Clear Project"と "Reconfigure Project"を実行して、すべてを開始するようにします。

奇妙なことは、私はエディタでブースト/ラムダ/ lambda.hppを選択して、私は「オープン宣言」を行う場合、それはファイル見つかったということです。「私はドンこの時点で

enter image description here

を何をすべきかを知っている、明らかに私は何かを欠いている。

お手伝いできますか?

追加注:私はGCCを使用してC++実行可能なプロジェクトを開始した場合、ライブラリが認識されていると私は何の問題もありません。 問題はAutotoolsまたはYocto ADT内にあると思います。 私はYoctoビルドとSDKにブーストライブラリを追加しましたが、機能しません。

答えて

1

私は正常にライブラリに含ま/src/Makefile.amに追加してコンパイルすることができました。

enter image description here

これはAutotool群のconfigureフラグを変えると異なっている理由はまだ私は理解していません。

誰かが答えを持っている場合は、説明する気にしてください。

+0

私はプロジェクトがMakefileによって構築されているので、それはAutotoolsに任されていたと思います。だから、あなたの質問はなぜeclipseインクルードの設定がメイクファイルの内容に影響しないのですか? – Roman

+0

Eclipse Autotoolの設定が私のソースフォルダ内のMakefile.amに影響しない理由はありません – Podarce

+0

3年が経過しました。 – Roman

関連する問題