1

私はC&C++アプリケーションによって消費されるC++dllを構築しています。/ MTによって静的ライブラリ(LIBCPMT.LIB)コードがdllにダンプされるため、依存関係がなくなることを理解しています。/ MDはインポートライブラリにリンクし、C ++ランタイム(MSVCP100.dll)に依存します。

私の疑問:

  1. / MDオプションで、開発中にリンクしたインポートライブラリであるC ++ランタイムdllの正しいバージョンがWindowsOSに存在することを確認する必要がありますか?

  2. dllを使用するアプリケーションがどのC/C ++ランタイムにリンクされているかを気にする必要がありますか?C ++ 11の機能を使用したいのですが、古いC++アプリケーションが引き続きdllを使用できることを確認したいと思います。

  3. 私は今VS2012RCを使用することを計画しており、C++ランタイムライブラリが更新されたと思います。コードが実行されるWindowsのバージョン、またはdllを使用するアプリケーションが使用するライブラリに再び依存することはありますか?

4

1 に答える 1

2
  1. はい、関連するランタイム ライブラリ DLL が存在する必要があります

  2. はい、通常、クライアント コードは同じランタイムを使用する必要があります。ただし、C スタイル インターフェイスまたは COM インターフェイスのみをクライアントに提供することで、これを回避できます。たとえば、std::stringランタイムによって割り当てられたものを含むデータはありません。

  3. はい、VS 2012 でサポートされているターゲット プラットフォーム(Windows Vista 以降) に限定されます。

于 2012-08-02T02:09:33.830 に答える