かれこれ3日目。
どうしてもrubyとc++の非同期プロセス間通信をしたくて色々試行錯誤した過程でぶち当たった問題の一つが、Activemqをc++上でどうやって使えるようにするのかということ。
一応、Activemq-cppというClientが提供されてはいるのだが、こいつか曲者で自分で全てコンパイルしなきゃいけない。
普通にnmakeとかVC上でコンパイルできればいいのかといえばそうじゃない。
APRの導入もいるし、cppunitの導入もいるみたい。
またそのAPRとcpputilの導入についても良いソースがない。
でも、頑張って探せば先人の知恵が出てくるわけで。
本当に感謝です。
ということで、導入方法のメモ書き。
■スペック
OS:Vista Home
VC2010
Activemq-cppを使うためのまず、APR (Apache Portable Runtime)の準備から。
基本的にはこちらのリンクを参考にすればできます。
http://bookend.take-uchi.net/apr/APR_MEMO1.txt
その次は、Activemq-cppのダウンロード。
http://activemq.apache.org/cms/download.html
1.
解凍したら、vs2008-buildのフォルダの中身を開いて、activemq-cpp.slnを起動。
activemq-cppプロジェクトのプロパティを開き、C++ディレクトリに上記リンク先に沿ってコンパイルしたaprフォルダの必要ディレクトリを追加する。
includeとかlibとかですね。
2.
activemqutilConfig.h:
decafutilConfig.h:
のファイルの中の_SECURE_SCLの値を1から0にします。
http://www.mail-archive.com/users@activemq.apache.org/msg20360.html
そしたらコンパイルできます。
exampleの稼働には、さらにcppunitのコンパイルしたのが必要でした。
http://cppunit.sourceforge.net/cppunit-wiki/BuildingCppUnit1
exampleの稼働のために、
std::string brokerURI =
を変更する。
// tcp://127.0.0.1:61613?wireFormat=stomp use stomp instead
コメント