Windowsで、MinGWとEclipseをインストールし、MinGW GCCツールチェーンを使用してfooという名前の新しいC++プロジェクトを作成しました。これにより、コンパイル、実行、さらにはデバッグが行われます。素晴らしい。
まだWindowsの下で、インターネット接続にストレスを与える壮大な事業であるCygwinをインストールしました。最終的に、CygwinGCCツールチェーンとbarのプロジェクト名を指定しました。これはコンパイルして実行しますが、デバッグをステップスルーすることはできません(ソースが見つからないと主張します)。
Linuxでは、具体的にはmint13で、すべてのトリミングを含むすべての歌を歌うすべてのダンスのC ++エディションをインストールし、さらに刺激的な名前のbazとLinuxGCCツールチェーンを選択して新しいC++プロジェクトを作成しました。Eclipseはiostreamが見つからないと文句を言います。
私はこれにかなり混乱しています。ターミナルウィンドウを起動してg++を実行すると、それが見つかるので、明らかに少なくともいくつかのGNUC++のものがあります。何が欠けているのかわかりません。Linuxは私にとって新しい世界です。誰かがガイダンスを提供できますか?
記録のために、生成されたコードはfoo.cpp(またはプロジェクト名によるとbar.cpp)と呼ばれるファイルにあり、次のようになります。
#include <iostream>
using namespace std;
int main() {
cout << "Hello World" << endl; // prints Hello World
return 0;
}
@bmargulies-あなたのコメントは頬の舌だったと思いますが、ピンクのフィットでemacsは使用しません。SAMBAをセットアップし、WindowsワークステーションでTextpadを使用します。これは、新しいテキストエディターの使用法を不必要に学ぶことなく、十分に学ぶことができるためです。私がEclipseを選んだ理由は、Linux上のC++の勇敢な新しい世界を探索するための統合デバッガーを備えた実用的なベースラインを提供するかもしれないという無駄な希望でした。MinGWと組み合わせると、Windowsでそれを提供しました。
ここでの大きな問題はツールではなく、私の無知と別の世界からの一連の期待です。これは、C++の経験不足によってさらに複雑になっています。C++での私の唯一の経験は15年前にTurboCを使用したことでした。
大きな混乱の原因は、ライブラリ参照を解決するために使用されるメカニズムです。
多くのプロジェクトがmakeを使用しているようです。これは、私が知る限り、プロジェクトまたはプロジェクトのセットをコンパイルおよびリンクするための一種のスクリプトファイルです。Makeにはさまざまなフレーバーがあり、makefileを使用する代替手段と使用しない代替手段もあるようです。
[罵倒]なんてめちゃくちゃ。
@Basile-私はEclipseの使用に夢中になっておらず、IDE構成のポイントアンドクリック使用に対するスクリプトの利点をよく知っています(特に、ビルドプロセスをソース管理できることです)。読書リストありがとうございます。おそらくこれはばかげた(または時期尚早の)質問ですが、私は尋ねなければなりません:エディターをビルドツールと統合するEclipseのようなIDEがなければ、ステップスルーデバッグを行うことは可能ですか?
@bmargulies-ツールチェーンの定義におそらく何か問題があることに同意しますが、その意味のある調査を行うための背景と経験が不足しています。上記のように、私はWindowsでさまざまなツールチェーンを使用してさまざまなレベルの成功を収めたため、ツールチェーンが問題の重要な要因であると結論付けるのが妥当です。残念ながら、LinuxではMinGWツールチェーンを選択できません。
Normのアドバイスに従って、コマンドラインからfoo.cppをコンパイルすることができました。hello worldプログラムは目的の動作で実行されますが、派手なIDEツールが解決しなかったときにg++がiostreamを解決する方法をどのように知っていたかはまだわかりません。
gdbを試すために、fooにさらに数行のコードを追加してコンパイルしました。できます!ターミナルウィンドウを使用してステップスルーデバッグを実行できると想像した人は誰でも!でも少し不器用です。
Basileは、派手なIDEは必要ないということは明らかですが、それは、歩くことができるのでバイクは必要ないと言っているようなものです。言及されている他のIDEを見ていきますが、それらはすべて同じツールチェーンを使用しているため、私が誤って構成したものはすべて同じように苦しんでいると思います。
バジル、ゴールポストを動かしてくれて許して。私の当初の目標は確かに「hello.cppをコンパイルして実行する」ことでしたが、gdbは必然的に次のステップでした。それは機能します、そしてこれが大学でテレタイプを使用している80年代初頭であったなら、私はおそらく今かなり幸せでしょう。しかし、それは80年代初頭ではなく、過去10年間、構文の色付け、オートコンプリート、可変スニッフィングの編集と継続のデバッグに費やしてきました。