Ubuntu 13.04 で Eclipse Juno を使用して、raspberry pi の開発を行っています。このガイドに従ってクロスコンパイル ツールチェーンを構成しました: http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/
ラズベリー pi でhello world プログラムを正しくコンパイルして実行できるようにしましたが、Eclipse はすべての STL インクルードにエラーとして注釈を付けます。
私が試したこと:
- プロジェクトの再構築
- インデックスの再構築 (インデックス -> 再構築)
構成にいくつかのパスが欠けていると思いますが、どのパスかわかりません。私はグーグルでかなりの量の調査を行いましたが、この問題に対する特定の解決策を見つけることができませんでした.
問題は、ビルド コマンドで使用されている C++ STL インクルード パスを表示するように Eclipse を構成するにはどうすればよいかということです。(arm-linux-gnueabihf-g++)
更新:
以前やみくもにコピー アンド ペーストしたインクルード パスを調べていたところ、そのうちの 1 つが C++ STL を指しているはずでしたが、フォルダー構造が十分に深くなっていないことに気付きました。に変更.../include
し.../include/c++/4.7.2
て修正し、STLがEclipseで表示されないように修正しました。
しかし、ここで新たな問題が発生しました。たとえば、ファイルをインクルードすると#include <string>
、文字列型を使用できません。のすべてのインスタンスに下線が引かれstring
、「Type 'string' could not be resolved.
しかし、Eclipse を再起動すると、エラーは消えます...コードに変更を加えるまでは、赤い線が元に戻ります」と表示されます。それでも、プログラムは正常にコンパイルされます。