Eclipseにはc ++用の次のコードがあり、string
とcout
に下線が引かれており、解決できないと言っています。
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s;
s = "hello world";
cout << s;
return 0;
}
誰もがその理由を知っていますか?
編集:スクリーンショット
編集:皆に感謝する解決策を見つけました(回答を参照)。
問題は、 minGWとMSY Sの両方をインストールしてPATHに追加する必要があることでした。
この問題は修正されました。
私もこの問題を抱えています。
Eclipseがすべてのインクルードヘッダーを見つけることができなかったためだとわかりました。
この簡単で迅速な解決策は問題を解決する可能性があります(たとえば、Eclipseプロジェクトをディスク上の別の場所に移動し、Eclipseに再度インポートした場合)、そうでない場合は次のセクションにジャンプします(詳細な修正)。
続行する前に、ツールチェーンが正しくインストールされているかどうかを確認してください。
この回答は古くなっています。上記のいずれも役に立たない場合は続行します
前の手順で問題が解決しない場合は、手動でディレクトリをインクルードする必要があります(ただし、推奨されません)
Eclipseで環境が適切にセットアップされ、インクルードへのパスが認識されるようにする必要があります。それ以外の場合、見つからないものとして下線が引かれます。
私はVanuanによって与えられた関連する質問に答えました( Eclipse CDT:未解決のstlヘッダーのインクルード )、これは私の答えです:
「CDT GCCビルトインコンパイラー設定」を使用することもできます。 [プロジェクトプロパティ]> [C/C++全般]> [プリプロセッサインクルードパス]> [プロバイダー]タブに移動し、[CDT GCCビルトインコンパイラー設定]がオンになっていない場合はオンにします。
他のソリューション(インクルードパスを使用するなど)は、タイプ 'string'に対して機能しませんでしたが、これで解決しました。
同じ問題がありました。インクルードパスの追加は、std :: string以外のすべてで機能します。
Mingw-Toolchainで多くのシステムヘッダーファイル* .tccに気付きました
Preferences> C/C++/File Typesで、ファイルタイプ* .tccを「C++ Header File」として追加しました。現在、std :: stringは、内部インデックスとコードアナライザーから解決できます。おそらくこれはデフォルトでEclipse CDTに追加されます。
これが誰かに役立つことを願っています...
PS:Eclipse Mars、mingw gcc 4.8.1、Own Makefileを使用していますが、Eclipse Makefilebuilderは使用していません。
同じ問題がありました。 Properties/C/C++ Build/ToolChainEditorのCurrentBuilderを別の値に変更して適用します。その後、再び元の値に変更します。できます。
AOSP(clang)でこの問題が発生しました。
追加 external\libcxx\include
を含めて_LIBCPP_COMPILER_CLANG
記号へ