2009-07-26 18 views
2

私のプロジェクトには複数のプロジェクトを含むソリューションが集まっています。Visual Studio C++ 2008リンクの質問

  • リリース(/ MT)
  • デバッグ(/ MTdに)

我々はサードパーティのライブラリを持っている:2つの構成があります。各構成(リリースバージョンは/ MTでコンパイルされ、デバッグバージョンは/ MTdでコンパイルされます)または2つのバージョン(/ MTまたは/ MTd)を持つだけで十分ですか?一般的に ディマ

答えて

6

おかげで、あなたはまた、外部ライブラリの2つのバージョンを持っている、とconsistenlyデバッグまたはリリースのためにすべてをコンパイルする必要があります。問題は、異なるCランタイム(CRT、例えばデバッグとリリースCRT)を混ぜるとクラッシュする可能性があるということです。

リリース版のみでは例外があります:外部ライブラリがDLLであり、CRTオブジェクトをCRTから他のCRTに渡さない場合、その制限は適用されません。

CRTオブジェクトは、FILEポインタ、mallocブロック(1つのライブラリが割り当てた場合のみ)、現在のロケールの概念、およびタイムゾーンの概念です。

関連する問題