- ベストアンサー
VC++ 2010でアプリケーションが起動できない
- VC++ 2010で作成したアプリケーションが起動できず、エラーメッセージが表示されます。
- dllファイルが見つからないことが原因で、アプリケーションが正常に起動できません。
- 解決方法を知っている方からのアドバイスを求めています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>その先輩はVisual C++ 2008 expressで作成しておりましたので、環境は全く同じではないのですが、 >私も自分のPCにVisual C++ 2010 expressをインストールし、その状況で作業しております。 であればVC++2008のランタイムをインストールして下さい。 MSのサイトからDLできるハズです。 VC++2008の「SP1」の方のランタイムでいいとは思いますが。 # 無印の可能性もありますが…その先輩がMicrosoftUpdateしていないと。 # http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=ja # http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ja あるいはVC++2010EEでビルドし直して下さい。 ソースやソリューション、プロジェクトファイル一式を受け取っているのであれば、.slnファイルを開けば2010用に変換ウィザードが起動するでしょう。 ただし…こちらの方法は他に関連するライブラリも「ほぼ全て」2010でビルドする必要があるかも知れませんが。 # 使用しているDLL、または.libがVC++2008EEでビルドされたものだと、そちらのビルドもやり直す必要があります。 >ちなみにライブラリとしては、Opencvとboostも使用しております。 VC++2008でービルドされていれば、VC++2010でリビルドが必要になるでしょう。 チーム(?)でやっていて、バージョンに食い違いがあると面倒なのでそろえた方がよいかと思いますが…。 VC++2008からVC++2010への変換は可能ですが、変換後のソリューションはVC++2008では使用できません。 VC++2008EEはまだMSのサイトからDLできるハズですが…。 # http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=fbee1648-7106-44a7-9649-6d9f6d58056e # 先輩の方を2010にできないのであれば、貴方の環境を2008にすることになりますが… # その場合は2010はアンインストールしておいた方が良いでしょう。 # 古いバージョンの方を後からインストールするのは…あまり想定されていないでしょうし。 # VC自体は異なるバージョンのモノはインストール可能ですが、古い順から入れるべき…かと。 # ちなみにウチはVS2005Std/VC++2008EE(先日試しにVBとC#も後からインスト)/VC++2010EEが入っています。 # 製品版であること・WMアプリを作ることもあることから2005がメインですけどね。 >もしよろしければ、調べる方法などがあるようでしたら教えていただいてもよろしいでしょうか? 普通はやらないので気にする必要はありません。 Win32APIとか使って、動作がおかしいとしたら…まず疑うのは自分のコードでしょうから。 引数に渡しているデータとか呼び出し順とか間違えている確率の方が、OSにバグがある確率より高いはずですから…。 http://www.microsoft.com/japan/whdc/devtools/debugging/symbolpkg.mspx ですかね…使ったことありませんけど。 # ExpressEditionで使えるのかも不明。MS的には使えなくしていそうですが……。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
>アプリケーションを正しく起動できませんでした(0xc0150002)。 >「OK」をクリックしてアプリケーションを閉じてください。 作成したソフトに不具合がある。 とかでは無いでしょうか? 一応確認ですが、実行しているのはCV++2010EEの入っているPCでしょうか? # エラーコード的には別のPCっぽいですが。 # STATUS_SXS_CANT_GEN_ACTCTXで検索…ですかねぇ。 別のPCなら、ランテイムが入っていないでしょうからMSのサイトで調べて下さい。 http://msdn.microsoft.com/ja-jp/library/ms235299.aspx とか。 # ダウンロードページまでは探していない。 >これらのdllファイルが見つからないことが原因なのでしょうか? DLLは見つかっている…でしょう。 # フルパスでファイル名が表示されているのですから、存在するかくらい確認して下さい。 「デバッグ用の情報がないよ?」って言っているだけです。 Windowsの製品のDLLに「余計な情報」であるデバッグ用の情報がついていないだけですから、その出力は気にする必要はありません。 # MSのサツイトでシンボル情報を取得できる場合がありますが…OSのDLL内部まで追いかけないとならないプログラムを作ってます?
お礼
回答ありがとうございます。 >作成したソフトに不具合がある。 とかでは無いでしょうか? ご指摘の通りかもしれません。先ほど、私が作成したプログラムと申し上げましたが、 自分のソフトは動きました。 しかし、先輩からもらったプログラムを起動しようとしたところ、起動できませんでした。 正直、まだ先輩が作成したものの中身を完全には把握できていない状況です。 本当はその作成した方に連絡がとれれば一番よいということは承知なのですが…。 ただし、以前先輩はこのソフトを実際に動かしているのをまじかで見ましたので、 プログラムのコード自体が間違っているということはないと思います。 >一応確認ですが、実行しているのはCV++2010EEの入っているPCでしょうか? その先輩はVisual C++ 2008 expressで作成しておりましたので、環境は全く同じではないのですが、 私も自分のPCにVisual C++ 2010 expressをインストールし、その状況で作業しております。 ちなみにライブラリとしては、Opencvとboostも使用しております。 これらのライブラリもインストール完了し、exeファイルを作成するまでは何とかたどり着いたのですが、 どうしてもそのexeファイルを起動することができない状況となっております。 先ほどは説明不足で申し訳ありませんでした。 ># STATUS_SXS_CANT_GEN_ACTCTXで検索…ですかねぇ。 検索してみたところ、 // Windows was not able to process the application binding information. // Please refer to your System Event Log for further information. と書かれておりました。 イベントログが参照できていないということでしょうか? ># MSのサツイトでシンボル情報を取得できる場合がありますが…OSのDLL内部まで追いかけないとならないプログラムを作ってます? これに関しては現時点ではわからないとしか言えないですね。 周りにC++に詳しい方がいれば聞くこともできるのですが、大変申し訳ありません。 もしよろしければ、調べる方法などがあるようでしたら教えていただいてもよろしいでしょうか? もう一度質問をする形となり大変お手数をおかけしますが、もしお時間がありましたら返答のほうよろしくお願いします。
お礼
回答ありがとうございます。 どうも私のC++に関する基本的な知識がかなり不足していると思われますので、 一からしっかりと勉強したうえでもう一度挑戦したいと思います。 本当にありがとうございました。