当前位置: 首页 > 工具软件 > ActiveMQ-CPP > 使用案例 >

编译activemq-cpp-example碰到的问题

何建中
2023-12-01
 

kagula
2012-3-2

环境
[1]Win7SP1
[2]apr-1.4.6-win32-src.zip
[3]apr-util-1.4.1-win32-src.zip
[4]apr-iconv-1.2.1-win32-src-r2.zip

[5]activemq-cpp-library-3.4.1-src.zip
[6]apache-activemq-5.4.3-bin.zip

[7]VS2010SP1


       打开apache-activemq包里自带的activemq-cpp-example的项目虽然编译成功
但是一运行提示找不到libparutil-1.dll。
       进入c:\work\aprutil编译aprutil,静态库能生成,但是动态库无法生成。
察看APR官方文档,我们知道如果在LINK的依赖项里设置LIBXXX.lib,则程序运
行的时候,会到当前运行目录里寻找相应的XXX.dll文件。


     动态不成,我们用静态,把LINK依赖项的libapr-1.lib、libaprutil-1.lib
分别改为apr-1.lib和aprutil-1.lib,但是编译会有很多符号(函数)找不到实现。
我们替这些符号找到实现所在的LIB文件,然后,补上去。
       完成后的,"[Linker]->[Input]->[Additional Dependencies]"项内容如下
ws2_32.lib  apr-1.lib  aprutil-1.lib apriconv-1.lib  Mswsock.lib 
Rpcrt4.lib
”共六个库文件。
       现在activemq-cpp-example程序编译成功。一运行停留在命令行下,这时启动
ActiveMQ,程序会正常往下运行并结束。问题解决。

     但是如果你在C++端发送中文信息给Java端,Java端会报UTF-8解析出错,这时

你只需要传送中文前把GBK转成UTF-8再发给Java端就可以了。

 类似资料: