最近、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 ++」を実行できません:?????????¨?
ビルドエラーが発生し、ビルドが停止しました
WindowsCMDとCygwinTerminal、g ++の両方で、両方がうまく機能するようにします。
さらに、Eclipseはインクルードライブラリを見つけることができないため、パスC:\ cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\c ++をプロジェクトプロパティ-> C/C++に追加する必要があります。構築->設定。しかし、その後、誤って、それはまだ表示されます、
'std'はあいまいです '
'endl'の無効なオーバーロード
シンボル「cout」を解決できませんでした
プロジェクトのプロパティ-> C/C++ビルド->ディスカバリーオプションで、ディスカバリープロファイルスコープを構成全体に設定し、ディスカバリープロファイルをファイルスキャナー情報プロファイルごとのGCCに設定しました。
Cygwinツールチェーンをセットアップする必要があります。まず、次のパッケージを使用してCygwinをインストールします。
binutils
gcc
gcc-core
gcc-g++
gcc-mingw-core
gcc-mingw-g++
make
追加 %cygwin%\bin
PATH環境変数に移動し、Eclipseを開くと、新しいc/cppプロジェクトウィザードを開くとCygwinツールチェーンが表示されます。
これを試しましたか Eclipse CDTおよびC++のCygwinチュートリアル ?
同様のエラーが発生しましたが、以下のように機能しました。設定内:'Project|Properties|C/C++ General|Indexer'
、チェックを外しました'Allow heuristic resolutions of includes'
そして設定を保存しました。再構築後、「std」のようなエラーはすべてあいまいです...」が消えました。
どのバイナリパーサーを使用しているかを確認しましたか?
プロジェクト、[プロパティ]、[C/C++ビルド]、[設定]、[バイナリパーサー]タブを右クリックし、WindowsOSまたはLinuxOS用のElfパーサーを使用している場合は[PEWindowsパーサー]を選択します。
私が実行したEclipseのバージョンはPhoton(4.8)です。 cygwin64バージョン2.10.0(0.325/5/3)を実行しています。
新しいディレクトリ--foo--を作成し、その中に次のファイルを追加しました。
set(CMAKE_C_FLAGS "-g -O0")
set(CMAKE_CXX_FLAGS "-g -O0 --std=c++17")
add_executable (foo main.cpp)
ソースレベルのデバッグには「-g-O0」が必要であることに注意してください。
#include <iostream>
using namespace std;
int
main()
{
cout << "Hello World" << endl;
auto i = 5;
cout << i << endl;
}
次に、fooディレクトリで次のコマンドを実行しました。
cmake。
次に、Eclipseを開きました。
ファイル-> C/C++のインポート->既存のコードをMakefileプロジェクトとして
次を押す
既存のコードの場所を自分のfooディレクトリに設定しました(参照して)
これにより、プロジェクトの名前が自動的にfooに設定されます(必要に応じて変更できます)
「インデクサー設定のツールチェーン」で、今のところ「なし」を設定して終了します。これは後で修正します。
「プロジェクトエクスプローラー」ペインで、「foo」を右クリックし、「プロパティ」に移動します。
「C/C++ビルド」に移動します
「ツールチェーンエディタ」に移動します
「互換性のあるツールチェーンのみを表示する」のチェックを外します
[現在のツールチェーン]プルダウンで、[CygwinGCC]を選択します
「適用して閉じる」をクリックします
もう一度、[プロジェクトエクスプローラー]ペインで[foo]を右クリックし、[プロパティ]に移動します
「C/C++ビルド」に移動します
「環境」に移動
「CYGWIN_HOME」環境変数が正しく設定されていることを確認してください。デフォルト設定は「C:\ cygwin」ですが、これは私には良くなく、多くの問題を引き起こしました。私の場合はC:\ cygwin64でした
「適用して閉じる」をクリックします
ここで、fooプロジェクトをもう一度右クリックし、[プロジェクトのビルド]をクリックします。
プロジェクトペインのfooの下で、main.cppをクリックして表示します。どこかにブレークポイントを設定します。
F11を押す
以前に設定したブレークポイントを取得する必要があります。
お役に立てれば。
Eclipse + CDT + cygwin-gccを使用してHelloWorldプログラムを作成するためのすべての基本的な手順を示します。
3から7までのいくつかのステップを逃したに違いありません。
binutils
、gcc-core
、gcc-g++
、gdb
、およびmake
を使用してcygwinをインストールします。以前はパッケージをインストールしていませんでした。そこで、cygwinをインストールした後にパッケージをインストールしました。それらをインストールするには、cygwinのセットアップexe( この回答 のポイント3)を再実行するか、 この回答 で説明されているようにapt-cyg
を使用します。path
環境変数を設定して、cygwin bin(C:\Program Files\cygwin\setup\bin
)およびlib(C:\Program Files\cygwin\setup\lib
)ディレクトリパスを含めます。 Windows classpath
環境変数を設定して、cygwinlibディレクトリパスを含めます。gcc
、g++
、gdb
およびmake
を実行します。インストールされたcygwinパッケージが到達可能であり、コマンドが見つからないというエラーが表示されないかどうかを確認するプロンプトを表示します。 gcc
、g++
およびmake
の場合、入力またはターゲットファイルが見つかりませんというエラーが表示されます。 gdb
の場合、gdb
Promptを開始する必要があります。これは、Quit
Promptにgdb
と入力することでエスケープできます。File > New > C/C++ Project
を実行しますNext>
をクリックします。Cygwin GCC
を選択します。src
という名前を付けます。HelloWorld.c
: Run as > Local C/C++ Application
を右クリックします。前の手順で生成された実行可能ファイルを実行する必要があります。