使って開発をしている際にちょっと厄介になってくるのが、CRTの選択についてどれにするかを決める点です。これは実行体(アプリケーション)を作っているときにはまだ軽微な話なのですが、ライブラリを作る際にはとても大変な話になってます。いう組み合わせを考えなくてはなりません。8種類存在することになります。ライブラリの提供者になる場合、特にそのライブラリをパッケージとして納品するなどする場合には、これらの組み合わせのライブラリを1セットとする必要があると思います。!そんな8種類も納品したくない&動作テストしたくもないのが本音です。利用者にとっては自分のアプリケーションで使うために、一致するライブラリを選択できているのが望ましいです。数が多いと選択に困るかもしれませんが、ライブラリのせいで構成を縛られてしまう、という点だけは避けたいところです。オープンソース等であればプロジェクト設定を変更して、利用状況に応じてオプションを変えることで対処することも可能です。・・・でも個人的にはこれもやりたくはない作業だと感じています。目次ライブラリの個数を減らすことを考えてみる具体的にどう開発をするのかもうちょっと具体的な話ライブラリの個数を減らすことを考えてみる8種類もあるのが大変なので減らすことを考えてみます。そもそもABIが違うのでこれはどうしようもありません。ランタイムDLLを要求するケースはclr使う際には必要です。C#から使うようなケースでは必須となります。楽にGUIを作れるのでこれは考慮しておく必要があります。CランタイムのDLLについて配布先でインストールが必要になります。おなじみの再頒布ランタイムってやつですね。スタティックリンクを使用する場合、exe単体配布で動くようにできるというのが最大のメリットでしょう。DLL/スタティックリンクどちらもメリット・デメリットがあります。これらのランタイムは何を示しているかを考えてみます。Cランタイムのタイプがどれであるか、を決めているわけです。いうことは、Cランタイムを使わない、CRT非依存を実現できればこれらの問題から解放される、と予想できます。組み合わせはどちらでもよい(=最終exeをつくるプロジェクトに任せられる)ということになります。違いも検討してみます。切り替わるだけなので、CRTに非依存が実現できればこのDebug/Releaseの差異も気にしなくてよくなりそうです。