マルチターゲットのVisual Studioプロジェクト:1つのソースコード
-
22-08-2019 - |
質問
1は、異なるプラットフォーム/ターゲットのカップルに対して1つのまたは2つのライブラリをコンパイルするだろうビルドシステムの設定について行くことができる方法上の任意の提案を。
メインプロジェクトは、Visual Studioである。
たとえば、私は図書館があります:
nav.lib
これは、いくつかの調整で、WindowsおよびLinux上でコンパイルされます。
ライブラリ、win_nav.libを使用して実行可能ファイルは、OpenGLのみで、現時点ではWindows上でコンパイルされます。
私はiPhoneにこのコードを移植しています。私はWindows上でライブラリ全体をコンパイルしてリンクすることはできません知っているが、私はOpenGLとグラフィック・コードが含まれており、OpenGLESが含まれてコンパイルしようとしたいと思います。 (おそらく、私は同様にWindowsマシン上で私のopenglesコードを試すことができますか?)
私は、プリプロセッサのフラグに基づいて含めるように私のグラフィックファイルを変更する予定ます:
#ifdef USE_OPEN_GL_FULL
#include <opengl/gl.h>
#else
#include <opengles/gl.h>
#endif
だから、どのようにこれを行うに行きますか?
のVisual Studioで異なるスクリプトまたは異なるプロジェクトのカップルを使用していますか?
解決
これは、「ソリューションの構成は、」ためているものです。デフォルトでは、Visual Studioはリリースとデバッグ構成を作成しますが、あなたも独自のカスタム設定を追加することができます。プロジェクトのオプションはこれだけ、それを必要とする構成では、あなたのの#defineを設定し、それぞれの構成によって異なります。
あなたが自動ビルドを実行している場合は、あなたはちょうどあなたが使用してコンパイルする構成の名前に/ビルドパラメータを設定します。
他のヒント
VSの中であなたは構成マネージャ別のターゲットにすることは構築し、あなたのコード内の別のライブラリを使用します。