アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、Visual C++ 2010 express を用いてソフトの作成を行っています。
まだ初心者なのですが、とりあえずプログラムが完成し、アプリケーションを起動しようとしたところ、

アプリケーションを正しく起動できませんでした(0xc0150002)。
「OK」をクリックしてアプリケーションを閉じてください。

とエラーメッセージが出ました。

また、Visual C++ express上の出力には、

'C:\○\△\*.dll' を読み込みました。Cannot find or open the PDB file

と、dllファイルが10種類ほど読み込んだ後、Cannot find or open the PDB file
と表示されております。
これらのdllファイルが見つからないことが原因なのでしょうか?
もし、どなたか解決方法をご存知の方いらっしゃいましたら教えていただけると幸いです。

A 回答 (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? …
# http://www.microsoft.com/downloads/details.aspx? …

あるいは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? …
# 先輩の方を2010にできないのであれば、貴方の環境を2008にすることになりますが…
# その場合は2010はアンインストールしておいた方が良いでしょう。
# 古いバージョンの方を後からインストールするのは…あまり想定されていないでしょうし。
# VC自体は異なるバージョンのモノはインストール可能ですが、古い順から入れるべき…かと。
# ちなみにウチはVS2005Std/VC++2008EE(先日試しにVBとC#も後からインスト)/VC++2010EEが入っています。
# 製品版であること・WMアプリを作ることもあることから2005がメインですけどね。

>もしよろしければ、調べる方法などがあるようでしたら教えていただいてもよろしいでしょうか?

普通はやらないので気にする必要はありません。
Win32APIとか使って、動作がおかしいとしたら…まず疑うのは自分のコードでしょうから。
引数に渡しているデータとか呼び出し順とか間違えている確率の方が、OSにバグがある確率より高いはずですから…。
http://www.microsoft.com/japan/whdc/devtools/deb …
ですかね…使ったことありませんけど。
# ExpressEditionで使えるのかも不明。MS的には使えなくしていそうですが……。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
どうも私のC++に関する基本的な知識がかなり不足していると思われますので、
一からしっかりと勉強したうえでもう一度挑戦したいと思います。
本当にありがとうございました。

お礼日時:2011/01/11 23:17

>アプリケーションを正しく起動できませんでした(0xc0150002)。


>「OK」をクリックしてアプリケーションを閉じてください。

作成したソフトに不具合がある。
とかでは無いでしょうか?

一応確認ですが、実行しているのはCV++2010EEの入っているPCでしょうか?
# エラーコード的には別のPCっぽいですが。
# STATUS_SXS_CANT_GEN_ACTCTXで検索…ですかねぇ。
別のPCなら、ランテイムが入っていないでしょうからMSのサイトで調べて下さい。
http://msdn.microsoft.com/ja-jp/library/ms235299 … とか。
# ダウンロードページまでは探していない。

>これらのdllファイルが見つからないことが原因なのでしょうか?

DLLは見つかっている…でしょう。
# フルパスでファイル名が表示されているのですから、存在するかくらい確認して下さい。
「デバッグ用の情報がないよ?」って言っているだけです。
Windowsの製品のDLLに「余計な情報」であるデバッグ用の情報がついていないだけですから、その出力は気にする必要はありません。
# MSのサツイトでシンボル情報を取得できる場合がありますが…OSのDLL内部まで追いかけないとならないプログラムを作ってます?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>作成したソフトに不具合がある。
とかでは無いでしょうか?

ご指摘の通りかもしれません。先ほど、私が作成したプログラムと申し上げましたが、
自分のソフトは動きました。
しかし、先輩からもらったプログラムを起動しようとしたところ、起動できませんでした。
正直、まだ先輩が作成したものの中身を完全には把握できていない状況です。
本当はその作成した方に連絡がとれれば一番よいということは承知なのですが…。
ただし、以前先輩はこのソフトを実際に動かしているのをまじかで見ましたので、
プログラムのコード自体が間違っているということはないと思います。

>一応確認ですが、実行しているのは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++に詳しい方がいれば聞くこともできるのですが、大変申し訳ありません。
もしよろしければ、調べる方法などがあるようでしたら教えていただいてもよろしいでしょうか?

もう一度質問をする形となり大変お手数をおかけしますが、もしお時間がありましたら返答のほうよろしくお願いします。

お礼日時:2010/12/27 23:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!