• ベストアンサー

Visual C++ Express Editionのランタイムなしで起動する方法

いま、Visual C++ Express Edition を使って、開発しています。 前回、同じようなことを質問したのですが いまいちわからなかったので、もう一度質問させていただきます。 Visual C++ Express Edition で作ったWin32アプリケーションは、 VCランタイムが必要らしいですが、 VCランタイムをほかのPCにインストールしなくても 起動できるようにはできないのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

コンパイラオプションかリンカオプションの所に「ランタイムライブラリを使うかどうか?」の設定があったような気がします。 「ランタイムライブラリを使う」にすると、exeファイルが小さくなりますが、実行時にVCランタイムライブラリが要ります。 「ランタイムライブラリを使わない」にすると、exeファイルが肥大化しますが、実行時にVCランタイムライブラリは要りません。

aduken
質問者

お礼

回答ありがとうございます。 >コンパイラオプションかリンカオプションの所に これは、プロジェクトのリンカの全般のツリーにある 「ランタイムライブラリの依存」だと思います。 これをOFFにしたところ、ファイル容量が 29KB⇒259KB に肥大化しましたので、これだと思います。 おかげで解決しました!ありがとうございます

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

IDEでプロジェクト > 一番下のプロジェクトのプロパティ 左ペインで C/C++ > コード生成 右ペインの ランタイムライブラリを 『マルチスレッド(/MT)』または『マルチスレッド デバッグ (/MTd)』を選択します プロジェクトまたはソリューションのリビルドを実行してみましょう

aduken
質問者

お礼

回答ありがとうございます 前回にその方法を教えてもらったのですが、 逆にファイル本体の容量が小さくなり 29KB⇒2.4KB ほかのPCでは起動できませんでした。 また、ほかのプロジェクトでは、ビルドもできなくなってしまい、 リリースモードでしかビルドができなくなっていたので、 効果はなかったかのように見えますが、 No2回答の、ランタイムライブラリの依存 と組み合わせることでできるようになりました!! ありがとうございました!

回答No.1

「Win32プロジェクト」又は「Win32コンソールアプリケーション プロジェクト」を使用した場合*.exe単体で動作できます。 何もいりません。対象PCに*.exeをコピーするだけです。

aduken
質問者

お礼

回答ありがとうございます。 通常のC++ではそのようなランタイムは必要ないのですが、 Visual C++ 2008 Expfress Editionでは VCランタイムが必須みたいです。 でも、わざわざありがとうございました。

関連するQ&A