私はC#.NET と Visual Studio のバックグラウンド (および一部の Objective-C / XCode)からC++を初めて使用します。
C++ でクロスプラットフォーム (Windows、OS X、Linux) アプリケーションを作成したいと考えています。Mac では TextMate、Windows ではメモ帳から始め、コマンド ライン/ターミナルで g++ を使用してコードをコンパイルし、そのプラットフォームで実行可能ファイルをビルドしました。
IDE (つまりVC++、XCode、およびEclipse )を使い始めたときに混乱しました。コードを貼り付ける前に、3つすべてを試してプロジェクトを作成しました。1 つの IDE で編集を開始すると、最終的なコード片を別のプラットフォームでコンパイルする方法がわかりません。
たとえば、クラスファイルがある場合 - foo.cpp
. Eclipse では、foo.cpp
(その中にfoo.h
, foo::foo()
) と別のfoo.h
ヘッダー ファイル (その中にFOO_H_
ファイルなど) が生成されます。Xcode では、フォルダFoo
constainsmain.cpp
とfoo.l
) を生成します - それだけです。違いはなぜですか?
C++ コードは、そのプラットフォームでコンパイルされた場合にプラットフォーム固有の実行可能ファイルを生成する単なる C++ コードだと思います。(たとえば、Mac でコンパイルすると、Mac 実行可能ファイルになります。Windows でコンパイルすると、Windows 実行可能ファイルになります)。
IDE を使い始めると、C++ コードが自動的に移植できなくなったようです。これは、理解できない自動生成ファイルが原因です。XCode、Eclipse、および Visual Studio のドキュメントを同時に読んでみると、さらに混乱します。私はただC++を書きたいだけです...
また、Stroustrup の古典的なテキストに従って C++ を取り上げていますが、この本では、これらのファイルがすべて生成された理由について、ヘッダーやファイルのソースなどは何も言及されてい.h
ません。_H_
メモ帳/Textmate + G++コンパイラを使用する以外に、クロスプラットフォームであるIDEで純粋で移植可能なC++プログラムを作成するにはどうすればよいですか?