8

最近、Eclipse Indigo Service Release 2 (for JAVA EE) をインストールし、CDT 8 をオンラインでインストールしました。次に、Cygwin を最新バージョンで gcc、g++、gdb、make、binutils、automake などでインストールしました。環境変数 PATH も作成しました。正しい。

(Cygwin GCC ツールチェーンを使用して) 新しい C++ プロジェクトを作成することは問題ありませんが、HelloWorld プログラムを入力した後、多くのエラーと警告が表示されます。

外部ビルダーを使用すると、エラーで表示されます

「プログラム "make" を実行できません: ?????????¨?」.

内部ビルダーを使用する場合、要約すると表示されます

"g++ -IC:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\c++ -O0 -g3 -Wall -c -fmessage-length=0 -o src\test_cpp.o ..\src \test_cpp.cpp

エラー: プログラム "g++" を実行できません: ?????????¨?

ビルド エラーが発生したため、ビルドが停止されました

Windows CMD と Cygwin ターミナルの両方で、g++ と make の両方がうまく機能します。

さらに、Eclipse はインクルード ライブラリを見つけることができないため、パス C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\c++ をプロジェクト プロパティ -> C/C++ に追加する必要があります。 Building->Settings.しかし、その後、エラーで、まだ表示されますが、

'std' はあいまいです '

「endl」の無効なオーバーロード

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

プロジェクト プロパティ -> C/C++ ビルディング -> 検出オプションで、検出プロファイル スコープを構成全体として設定し、検出プロファイルをファイル スキャナー情報プロファイルごとの GCC として設定しました。

4

6 に答える 6

4

C++ 用のこの Eclipse CDT および Cygwin チュートリアルを試しましたか?

于 2012-06-03T08:43:53.327 に答える
2

同様のエラーが発生しましたが、以下のように機能しました。設定で:'Project|Properties|C/C++ General|Indexer'、チェックを外し'Allow heuristic resolutions of includes'て設定を保存しました。再構築後、「std」のようなエラーはすべてあいまいです...」は消えました。

于 2012-09-24T03:56:02.930 に答える
2

使用している Binary パーサーを確認しましたか?

プロジェクトを右クリックし、[プロパティ]、[C/C++ ビルド]、[設定]、[バイナリ パーサー] タブで、Windows OS または Linux OS 用の Elf パーサーを使用している場合は [PE Windows パーサー] を選択します。

于 2013-06-19T09:10:14.003 に答える
0

私が実行したEclipseのバージョンはPhoton(4.8)です。私は cygwin64 バージョン 2.10.0(0.325/5/3) を実行しています。

新しいディレクトリ foo を作成し、そこに次のファイルを追加しました。

CMakeLists.txt:

set(CMAKE_C_FLAGS "-g -O0")
set(CMAKE_CXX_FLAGS "-g -O0 --std=c++17")
add_executable (foo main.cpp)

ソースレベルのデバッグには「-g -O0」が必要であることに注意してください。

main.cpp:

#include <iostream>

using namespace std;

int
main()
{
    cout << "Hello World" << endl;
    auto i = 5;
    cout << i << endl;
}

次に、foo ディレクトリで次のコマンドを実行しました。

cmake 。

次に、日食を開きました。

ファイル -> C/C++ をインポート -> Makefile プロジェクトとして既存のコード

ヒットネクスト

既存のコードの場所を foo ディレクトリに設定しました (参照して)

これにより、プロジェクトの名前が自動的に foo に設定されます (必要に応じて変更できます)。

「インデクサー設定のツールチェーン」で、今のところ「なし」に設定して終了します。これは後で修正します。

「プロジェクト エクスプローラー」ペインで、「foo」を右クリックし、「プロパティ」に移動します。

「C/C++ ビルド」へ

「ツールチェーンエディタ」へ

「互換性のあるツールチェーンのみを表示する」のチェックを外す

「現在のツールチェーン」プルダウンで、「Cygwin GCC」を選択します

「適用して閉じる」を押します

もう一度、[Project Explorer] ペインで [foo] を右クリックし、[Properties] に移動します。

「C/C++ ビルド」へ

「環境」へ

「CYGWIN_HOME」環境変数が正しく設定されていることを確認してください。デフォルトの設定は「C:\cygwin」ですが、これは私には良くなく、多くの問題を引き起こしました。私の場合は C:\cygwin64 でした

「適用して閉じる」を押します

foo プロジェクトをもう一度右クリックし、[Build Project] をクリックします。

プロジェクト ペインの foo の下で、main.cpp をクリックして表示します。どこかにブレークポイントを設定します。

F11を押す

以前に設定したブレークポイントを取る必要があります。

お役に立てれば。

于 2018-09-14T12:06:59.777 に答える