0

Windows では Win32 GUI アプリケーション、Linux ではコンソール アプリケーションに条件付きでコンパイルするアプリケーションを作成する任務を負っています。

これまでの私の最大の障害は、このプロジェクトのセットアップ方法を考え出すことです。私は通常、Visual Studio 2012 で作業し、新しい C++ Win32 プロジェクトを作成するときに、コンソール アプリと GUI アプリのどちらかを選択します。これは、Linux で同じプロジェクトをコンパイルしてコンソール アプリケーションを生成することを困難にする、コンパイラに関連するいくつかのプロジェクト プロパティやものを設定しているように感じます。

条件付きコンパイルについては、あまり気にしていません。Visual Studio を使用するのではなく、Windows のコマンド ラインからこのようなものをコンパイルする必要があるかどうか、およびターゲット アプリケーションを終了するように設定する方法を理解しようとしています。これを行うときは、GUI またはコンソール アプリとして起動します。

うまくいけば、私は自分自身を明確に説明しました.私がかなり迷っていることは明らかだと思います. 助けてくれてありがとう。

4

3 に答える 3

3

これは、機能の大部分を含むライブラリを作成してから、そのライブラリの 2 つまたは 3 つのフロントエンドを作成して、その機能をコンソール アプリまたは GUI プログラムとして公開する方がよい状況の 1 つに思えます。

Win32 GUI の多くをコンソール アプリ プロジェクトにぶつけようとしても意味がありません。

于 2013-03-08T00:22:04.137 に答える
0

これは、少なくとも Windows 側では、プロジェクトのプリプロセッサ定義を使用して両方を定義できるものです。ここで議論!

Windows および Linux での C++ コンパイル: ifdef スイッチ

コード セクションを次のようにスタイル設定します。

#ifdef WIN32   // Windows system specific
#include <windows.h>
#else          // Unix based system specific
#include <sys/time.h>
#endif

この方法で、すべてのクロス プラットフォーム コードを分離し続けます。[プロパティ] --> [構成プロパティ] --> [C/C++] --> [プリプロセッサ] の下のプロジェクト プロパティに WIN32 を追加することを忘れないでください。

于 2015-08-19T02:29:22.087 に答える