VisualStudioでのランタイムライブラリのリンク方法指定

[構成プロパティ → C/C++ → コード生成 → ランタイムライブラリ]から設定できる。

2005で選択できる項目は以下のとおり。

  • マルチスレッド(/MT)
  • マルチスレッド デバッグ(/MTd)
  • マルチスレッド DLL(/MD)
  • マルチスレッド デバッグ DLL(/MDd)

それぞれの意味は以下の通り。

VisualStudioのランタイムライブラリの設定

  • マルチスレッド(_MT): マルチスレッドに対応したライブラリをリンクする。
  • デバッグ(_DEBUG): デバッグ情報を保持しているライブラリをリンクする。
  • DLL(_DLL): ダイナミックリンクライブラリを利用する。指定されない場合は、ランタイムライブラリを静的にリンクする。
http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/computer/cpp/vc_runtime/disp_content/


DLLを静的にリンクして配布したい場合は/MT、動的にリンクして配布したい場合は/MDを使えばよいということか。
ファイルサイズがでかくなるが、静的にリンクすれば配布するのが楽になるな。


また、CLRを使うと、/MT、/MTdは使えないようです。
http://msdn.microsoft.com/ja-jp/library/abx4dbyh%28v=VS.80%29.aspx