web-dev-qa-db-ja.com

Eclipse C ++:シンボル 'std'を解決できませんでした

TestExecute.cppでこのエラーが発生しています-

「シンボル 'std'を解決できませんでした」

コード

#include <iostream>
using namespace std;

次に示すように、Eclipse(Windows 7)で実行可能プロジェクトを作成しました。サポートされていないツールチェーンを選択しているようです。そうですか? Cygwinをインストールしましたが、設定で利用できます。

[〜#〜] edit [〜#〜]:@RobertoWilkoコメントに基づいて、「using namespace std;」行を削除するとエラーが削除されました。ただし、バイナリは作成されません。 「起動に失敗しました。バイナリが見つかりません」。これを修正する方法は?

enter image description here

enter image description here

enter image description here

enter image description here

27
Lijo

この手順を試してください: https://www.Eclipse.org/forums/index.php/t/636348/

基本的に「プロジェクトに移動->プロパティ-> C/C++全般->プリプロセッサパス、マクロなどを含める->プロバイダー-> CDT GCC組み込みコンパイラー設定、非アクティブ化プロジェクト間で共有されるグローバルプロバイダーの使用とコマンドラインの追加引数-std = c ++ 11。

19
user3729779

この問題を解決したかどうかはわかりませんが、同じ問題が発生した可能性がある場合の解決策を投稿したいと思います。

  1. まず、プロジェクトエクスプローラーに「Includes」フォルダーがあることを確認します。お持ちでない場合は、2番目のステップに進みます。ある場合は、3番目のステップに進みます。

  2. 次に、ウィンドウ->設定-> C/C++->ビルド>環境:2つの環境変数を作成します。

    a)名前:C_INCLUDE_PATH値:/usr/include

    b)名前:CPLUS_INCLUDE_PATH値:/usr/include/c++

フォルダー「c ++」が見つからない場合は、Cygwin/usr/include/に移動し、\cygwin\lib\gcc\i686-pc-cygwin\X.X.X\includeからコピーして、Eclipseを再起動します。

  1. 第三に、プロジェクトを右クリックしますプロジェクトエクスプローラー->プロパティ-> C/C++全般->パスとシンボル->インクルード->言語:GNU C++「インクルード」でC++フォルダーを見つけられる場合ディレクトリ」を選択し、[適用]および[OK]をクリックします。コードを少し変更して保存します。

あなたはシンボルが問題を解決できなかったことはないでしょう。

私は自分の解決策を文書化しました。

15
Frank

次のようにコードを書き直すことができます:

#include<iostream>
#include<stdio.h>

using namespace std;
6
liuzixing

MinGWの場合、これは私のために働いた:

  • プロジェクトを右クリックして、Propertiesを選択します
  • C/C++ General-Paths and Symbols-Includes-GNU C++-Include directoriesに移動します
  • Add...を選択します
  • Variables...を選択します
  • MINGW_HOMEを選択し、OKをクリックします
  • ApplyおよびOKをクリックします

プロジェクトエクスプローラーの[含める]にいくつかのMinGWパスが表示されます。
エラーがすぐに消えない場合があります。プロジェクトの更新/ビルドが必要になる場合があります。


Cygwinを使用している場合、同等の変数が存在する可能性があります。

5
Myst

プロジェクトのincludeフォルダーには、おそらく/ usr/include/c ++がありません。プロジェクトエクスプローラでプロジェクトに移動し、右クリック->プロパティ-> C\C++ビルド->環境->追加->値=/usr/include/c ++。 Eclipseを再起動します。

4
Meera Patil

問題を修正できるのは、プロジェクト->プロパティ-> C/C++全般->プリプロセッサインクルードパス、マクロなど->プロバイダー-> CDT GCCビルトインコンパイラー設定、CDTの有効化と無効化クロスGCC組み込みコンパイラー設定

3
Malcolm Boyd

インストールC++ SDK

ヘルプ>新しいソフトウェアのインストール>操作:path for your Eclipse version> C++を検索し、C++ SDK開発ツールをインストールします。

パスの例:Mars - http://download.Eclipse.org/releases/mars

2
Alaa M.

16.04カーネルのKubuntuでEclipse Neonを使用してこの問題が発生したため、#include <stdlib.h>から#include <cstdlib>これにより、std名前空間がEclipseから「見える」ようになり、エラーが削除されました。

1
Col_Parity

あなたが報告している問題は、次の原因が原因と思われます。

  1. cコードをコンパイルしようとしており、ソースファイルの拡張子は.cppです
  2. c ++コードをコンパイルしようとしていて、ソースファイルの拡張子が.cである

このような状況では、Eclipseは使用する適切なコンパイラーを認識できません。

0
federico