私は、最初の要件は、ライブラリから必要とされているかを判断します:
- デバッグ/
- Unicodeサポートを解放し、その..にそれと
は、あなたがすることができます決定あなた自身または他の図書館ユーザーが必要とする各組み合わせの構成を作成します。
コンパイルとリンクを行うときは、ライブラリと実行可能ファイルが使用される構成に関して一貫性を保つことが重要です。つまり、リンク時にリリース&のデバッグを混在させないでください。 Windows/VSプラットフォームでは、デバッグ&リリースのlibが実行可能ファイル内で混在している場合、微妙なメモリの問題が発生する可能性があります。
BrianがVisual Studioに言及しているように、Configuration Managerを使用して、構築が必要な各設定をどのように設定するのが最適です。
例えば、私たちのプロジェクトでは、ビルドされている実行可能ファイルに応じて、以下の設定が必要です。
- デバッグ+ Unicodeの
- デバッグ+ ASCII
- リリース+ Unicodeの
- リリース+ ASCII、この特定のプロジェクトのユーザ
が付き、実行可能な要件に合致するようにConfiguration Managerを使用しますプロジェクトの利用可能な構成。
マクロの使用に関しては、関数のデバッグバージョンまたはリリースバージョンがリンクされるかどうかのように、コンパイル時の決定を実装する際に広く使用されます。 VSを使用している場合は、プリプロセッサの定義属性を表示して、さまざまなマクロがどのように定義されているかを確認できます。 _DEBUG _RELEASE、これはコンフィギュレーションが何をコンパイルするかを制御する方法です。
あなたのプロジェクトをコンパイル/リンクするためにどのプラットフォームを使用していますか?
編集:更新されたコメントを展開する
構成マネージャオプションが使用可能でない場合、Iプロジェクトから次のプロパティを使用することをお勧め:
- リンカ - >追加のライブラリディレクトリまたはリンカ - >入力
マクロ適切なライブラリ構成にリンクするために、例えば。デバッグ/リリース。
$(ProjectDir)\..\third-party-prj\$(ConfigurationName)\third-party.lib
- ビルドイベントまたはカスタム前(または後)に依存プロジェクトから必要なライブラリファイル(複数可)のコピーを実行し
ステップ構成プロパティを構築するビルドに発生します。
xcopy $(ProjectDir)\..\third-party-prj\$(ConfigurationName)\third-party.dll $(IntDir)
マクロ$(ProjectDir)
は、現在のプロジェクトの位置に置換及び動作は、現在のプロジェクトに対して発生させるであろう。 現在選択されている構成(デフォルトはDebug
またはRelease
)の代わりにマクロ$(ConfigurationName)
が使用されます。これにより、現在どの構成が現在構築されているかによって正しい項目がコピーされます。
プロジェクト設定に通常の命名規則を使用すると、$(ConfigurationName)
マクロを使用することができます。そうしないと、固定文字列を使用できます。