32 ビット C++ コンソール アプリケーションで VS 2008 を使用する Windowsで、すぐに使用できる ActiveMQ サンプルhttp://activemq.apache.org/cms/example.htmlを実行しようとしています。
プロジェクトはビルドされますが、プログラムを実行すると例外が発生します。
XXXXXX.exe の 0x768b3e28 で未処理の例外: Microsoft C++ 例外: メモリ位置 0x0100f880 での std::length_error..
別のプロジェクトを別のサードパーティ DLL (log4CXX) で実行しようとすると、同じメモリ アドレスでまったく同じ例外が発生します。
パス設定
DLL ファイルは Windows/System32 と Windows/SysWOW64 にあります。
[構成プロパティ] > [C/C++] > [追加のインクルード ディレクトリ] にヘッダー ファイルのパスを追加しました。リンカー > 入力 > 追加の依存関係で、ws2_32.lib libapr-1.lib activemq-cpp.lib を作成しました。リンカ > 一般 > 追加のライブラリ ディレクトリで、lib ファイルが存在するフォルダへのパスを指定しました。ライブラリとヘッダー ファイルへのパスが含まれているため、プロジェクトのビルドに問題はないと思います。