ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:syouhe Visual C++でコンパイルしたものを他のPCで
困り度:
  • 暇なときにでも
こんにちは

タイトルどおりなのですがVisual C++でポーカーゲームを作り、コンパイルし、出来た.exeファイルを他のPC(Visual C++が入っていない)に移してみた所、実行できません。

他のPCでは出来ないようになっているのでしょうか?
それとも実行できるようなやりかたがあるのでしょうか?
質問投稿日時:08/03/25 13:45
質問番号:3893225
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:Wr5 > しかし、vcredist_x86.exe をインストールしていないPCで実行するようにはできないのでしょうか?

ファイルサイズが増えてもいいのでしたら、スタィックリンクする方法があります。
当方、Visual Studio 2005 Standardですが…
[プロジェクト][〜のプロパティ]から「構成プロパティ」を
さらに、[C/C++][コード生成]の「ランタイム ライブラリ」を「/MD」から「/MT」に変更します。

念のため、出来上がったEXEをDependency Walkerに食わせて、MSVCR80.DLLを参照していないか確認してください。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/28 00:42
回答番号:No.5
この回答へのお礼お礼が遅くなって申し訳ございません。

ありがとうございました。
おかげで友達に配ることが出来ました。

回答

良回答10pt

回答者:nayuneko >vcredist_x86.exe をインストールしてからもう一度ビルドしなおせばいいんですよね・・・?
>同じようなエラーが発生してしまいます・・・

いえ、VC++の入っていないビルドしたAPを動かしたいPCにそのランタイムをインストールしてください。
種類:回答
どんな人:経験者
自信:参考意見
回答日時:08/03/27 12:01
回答番号:No.4
この回答へのお礼ありがとうございました。
ちゃんと動作を確認できました。

しかし、vcredist_x86.exe をインストールしていないPCで実行するようにはできないのでしょうか?
何度もすみません・・・。

回答

 

回答者:nayuneko 「このアプリケーションのサイドバイサイド構成が正しくないため、〜」
というエラーはランタイムが入ってないと起こるエラーらしいです。
なので「Microsoft Visual C++ 2005 再頒布可能パッケージ(x86)」をMSのサイトから拾ってきて、インストールしてください。
種類:回答
どんな人:経験者
自信:参考意見
回答日時:08/03/26 12:51
回答番号:No.3
参考URL: http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a...
この回答への補足vcredist_x86.exe をインストールしてからもう一度ビルドしなおせばいいんですよね・・・?

同じようなエラーが発生してしまいます・・・
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:Wr5 VS2005、またはVS2008ですか?
おそらくランタイムが入っていないと思われますが…。

「VS2005 ランタイム」辺りで検索すると解説の書かれたページが見つかるでしょう。
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/03/25 23:59
回答番号:No.2
この回答への補足使用しているのは Visual C++ 2005 Express Edition です。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:nayuneko 他のPCはWindowsですか?それともWindows以外の環境ですか?
他のPCでは、何かしらのエラーが発生して実行できなかったのですか?それともだんまりのまま実行できなかったのですか?
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/03/25 14:07
回答番号:No.1
この回答への補足他のPCは全てWindowsXPです。

エラーは
このアプリケーションのサイドバイサイド構成が正しくないため、アプリケーションを開始出来ませんでした。詳細に付いては、アプリケーションのイベントログを参照してください。
と出ました。
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示