2016-04-10 8 views
0

32ビットのC++コンソールアプリケーションで、ActiveMQの例http://activemq.apache.org/cms/example.htmlをWindowsのVS 2008で実行しようとしています。実行時に処理されない例外(Log4CXX、ActiveMQ)でサードパーティ製のDLLが読み込まれない

プロジェクトはビルドされていますが、プログラムを実行すると例外が発生します。実行しようとしたとき、私は同じメモリアドレスとまったく同じ例外を取得メモリ位置0x0100f880でのstd :: length_error ..

:マイクロソフトC++の例外:XXXXXX.exeで0x768b3e28で未処理の例外

別のプロジェクトと、別のサードパーティ製のDLL(log4CXX)との間に存在します。

パスが

DLLファイルを設定のWindows/System32にならびにWindowsの/ SYSWOW64です。

私は、ヘッダーファイルのパスを[設定のプロパティ]> [C/C++]> [追加のインクルードディレクトリ]に追加しました。 リンカ>入力>追加の依存関係では、私はws2_32.lib libapr-1.lib activemq-cpp.libを持っています。 リンカ>一般>追加ライブラリディレクトリで、libファイルが存在するフォルダへのパスを指定しました。 libとヘッダーファイルへのパスが含まれているので、プロジェクトをビルドする際に問題はないと思います。

+1

** ** .libファイルと.dllファイルの両方が、プログラムが見つけられる場所に必要です。 Linuxでは、.soはこれらの組み合わせですが、Windowsでは別々のファイルです。 –

+0

プログラムを実行するにはDLLが必要ですか?私が言及している私のプロジェクトと一緒にVCがそれを構築しないだろうか? – Bokhari

+0

ありがとう@BoPersson、それは本当にばかげた質問だった。私はdllを発見し、アプリケーションは今すぐ動作するはずです。 – Bokhari

答えて

0

エラーは、プログラムによってDLLが検出されなかったためです。私は、システムライブラリフォルダー(C:/ Windows/SysWoW64)に64ビットマシン上の32ビットdllのdllを置くだけでした。

関連する問題