上の外部ライブラリは、私は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++一般 - >パスとシンボルがあり 私がダウンロードしたライブラリ用とコンパイルされたライブラリ(この場合に必要なく、一般性のために追加されていない)のパスを指定:
ザ・が含まが正しくプロジェクトエクスプローラで報告が、エラーが永続化されます。
それから私は、プロジェクトで作業しようとした - >プロパティ - > C/C++一般 - >プリプロセッサを含める:
はまだ同じエラーを取得します。
私は-Iオプションを追加することAutotool群を構成する含めるその後、試してみました:
もちろん、それはどちらか成功しませんでした。 失敗したビルドの試行のたびに、私は "Clear Project"と "Reconfigure Project"を実行して、すべてを開始するようにします。
奇妙なことは、私はエディタでブースト/ラムダ/ lambda.hppを選択して、私は「オープン宣言」を行う場合、それはファイル見つかったということです。「私はドンこの時点で
を何をすべきかを知っている、明らかに私は何かを欠いている。
お手伝いできますか?
追加注:私はGCCを使用してC++実行可能なプロジェクトを開始した場合、ライブラリが認識されていると私は何の問題もありません。 問題はAutotoolsまたはYocto ADT内にあると思います。 私はYoctoビルドとSDKにブーストライブラリを追加しましたが、機能しません。
私はプロジェクトがMakefileによって構築されているので、それはAutotoolsに任されていたと思います。だから、あなたの質問はなぜeclipseインクルードの設定がメイクファイルの内容に影響しないのですか? – Roman
Eclipse Autotoolの設定が私のソースフォルダ内のMakefile.amに影響しない理由はありません – Podarce
3年が経過しました。 – Roman