Ubuntu 12.04 LTSでは、Eclipse CDTプラグインをインストールし、新しいhello worldプロジェクトを開いてすべてをテストしました。プロジェクトを作成していたとき、唯一のツールチェーンを選択しました:「Linux GCC」
ただし、プロジェクトが作成されると、
#include<iostream>
#include<cstdlb>
未解決です。したがって、cout
およびendl
を含む行は使用できず、std
が見つかりません。
using namespace std;
も問題を引き起こしています。
std
名前空間を使用したコードをサポートするために、認識される標準ライブラリヘッダーの#include
ディレクティブを取得するにはどうすればよいですか?
私と同じ問題が発生した場合、プロジェクトはビルドされますが、コード補完/コードの強調表示は失敗しますか?役に立つかもしれないメモを見つけました。私がやったことは次のとおりです。
プロジェクト->プロパティ
C/C++全般
パスとシンボル
適切な言語を選択してください
[追加]をクリックして、コンパイラバージョン固有のディレクトリを追加します
言語「GNU C++」の場合:
/usr/include
/usr/include/c++/4.6
/usr/include/c++/4.6/bits
/usr/include/i386-linux-gnu
/usr/include/i386-linux-gnu/bits
/usr/include/c++/4.6/debug
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/i686-linux-gnu/bits
「GNU C」の場合:
/usr/include
/usr/include/i386-linux-gnu
/usr/include/i386-linux-gnu/bits
TBH、上記のすべてのディレクトリが実際に必要であるとは思いません(おそらく「ビット」ディレクトリを削除できます)が、上記のリストは私にとってはうまくいきました。
現在、Eclipse.orgのEclipse Indigo(バージョン3.7.2)を使用しています。正しいインクルードディレクトリが自動的に検出されて追加されます。リストは私にとっては異なります:
/usr/include/c++/4.6
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/i686-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu
/usr/include
明らかに、システムに実際に存在するインクルードディレクトリのみを追加してください;-)