- 締切済み
Visual C++ 2008 Express Editionsで作成されたエグゼファイルを他のPCで実行できない。
こんにちわ。 私は、WindowsXPでVisual C++ 2008 Express Editionsでフォームを使用したアンケートで、回答結果をcsvファイルで出力するようなエグゼを作成しました。このエグゼを他のパソコン(OSはWindows)で実行できるのか試したのですが、できせんでした。実行するパソコンにVisual C++ 2008 Express Editionsが入っていないといけないのでしょうか?そうだとしたら、どのパソコン(OSがWindowsの場合のみ)でも実行することができるようになる方法はありますか?どうかご教授願います。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- k_o_j_i
- ベストアンサー率72% (18/25)
「他のパソコン」には.NET Framework はインストール済みですか? CLRの場合は必須となります。 インストール済みならば、 (1)「ソリューション構成」を「Release」にする (2)「プロジェクト」→「プロジェクト名のプロパティ」で「構成」を「Release」にする (3)引き続きプロパティで「構成プロパティ」→「C/C++」→「コード生成」→「ランタイムライブラリ」で「マルチスレッド DLL (/MD)」を選ぶ (4)F7キーでビルド。Releaseフォルダにビルド済みexeファイルができていることを確認 で作成したexeファイルはどうでしょうか。C++/CLIでは/MTとの併用はできないようです。
4つのうちのどれか1つだけやればOKです わからない方法はスルーしてください
- S117
- ベストアンサー率40% (18/45)
プロジェクトの種類も示していただけるといいのですが。 もしWin32プロジェクトであれば、デバッグでビルドしたexeをそのままコピーしていませんか? ツールバーのデバッグ開始の隣のDebugをReleaseに変えてビルドしてみてください。
補足
ご回答ありがとうございます。 プロジェクトはCLRのWindowsフォームアプリケーションです。
・CRTもインストールさせる http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ja ・プロジェクトのランタイムライブラリのマルチスレッドDLL(/MD)をランタイムライブラリをマルチスレッド(/MT)に変える ・プライベートアセンブリを利用する ・CRT libファイルをWDK/DDKから持ってくる(MSVCRT.DLLにリンクできる) なお、VC++2008自体が内部動作的にも9x系非サポートですので既定では9x系では動きませんのでご注意を
補足
ご回答ありがとうございます。 ・プライベートアセンブリを利用する ・CRT libファイルをWDK/DDKから持ってくる(MSVCRT.DLLにリンクできる) 申し訳ないのですが、この2点をどうすればよいのか分からないので教えたいただけますか?
補足
最初の2つの方法を試したのですが、最初の方法は実行できなくて、2つ目はビルドしたら コマンド ライン オプション '/MT' と '/clr:pure' は同時に指定できません とエラーが出てしまいました。