ActiveMQ C++通信软件包编译

一、需要编译的软件包

    (1)apr-1.6.3-win32-src.zip

    (2)apr-iconv-1.2.2-win32-src.zip

    (3)apr-util-1.6.1-win32-src.zip

    (4)cppunit-1.12.1.tar.gz

    (5)activemq-cpp-library-3.9.3-src.zip

二、将所有软件包解压到D盘ActiveMQ目录下

    1、将【apr-1.6.3】文件夹修改为【apr】

    2、将【apr-iconv-1.2.2】文件夹修改为【apr-iconv】

    3、将【apr-util-1.6.1】文件夹修改为【apr-util】

    3、将【cppunit-1.12.1】文件夹修改为【cppunit】

三、编译

    1、编译【apr】

        用VS2010打开【libapr.dsp】文件,选择【Release】进行编译;

        在【D:\ActiveMQ\apr\Release】文件夹中生成【libapr-1.lib】和【libapr-1.dll】文件。

    2、编译【apr-iconv】

        用VS2010打开【apriconv.dsp】文件,选择R【Release】进行编译;

       在【D:\ActiveMQ\apr-iconv\LibR】文件夹中生成【apriconv-1.lib】文件。

    3、编译【apr-util】

        用VS2010打开【aprutil.dsw】文件,选择【Release】,

        拷贝【C:\Program Files (x86)\Expat 2.2.5\Source\lib】至【./xml/expat/lib】目录编译。

        在【D:\ActiveMQ\apr-util\LibR】文件夹中生成【aprutil-1.lib】文件。

        选择【libaprutil】项目,【Linker】添加引用库目录【C:\Program Files (x86)\Expat 2.2.5\Bin】,

        将引用的【$(XML_PARSER).lib】改为【libexpat.lib】编译。

        在【D:\ActiveMQ\apr-util\Release】文件夹中生成【libaprutil-1.lib】文件。

    4、编译【cppunit】

        用VS2010打开【D:\ActiveMQ\cppunit\src\CppUnitLibraries.dsw】选择【Release】。

        编译【cppunit】项目,在【Release】目录中生成【cppunit.lib】文件。

        编译【cppunit_dll】项目,在【ReleaseDll】目录中生成【cppunit_dll.lib】、【cppunit_dll.dll】文件。

    5、编译【activemq-cpp-library-3.9.3】

        用VS2010打开【D:\ActiveMQ\activemq-cpp-library-3.9.3\vs2010-build\activemq-cpp.sln】文件。

        将【C/C++】,【General】,【Additional Include Directories】中的【$(APR_DIST)\$(PlatformName)\include】

        修改为【D:\ActiveMQ\apr\include】。

        编译【activemq-cpp】项目,

        编译【activemq-cpp-example】项目,该项目是使用activemq的示例项目。

 

        Tips:若不先编译【apr】工程,打开包内的apriconv.dsp文件,选择Release编译,会提示

        1>d:\activemq\apr-iconv\lib\iconv.h(35): fatal error C1083: Cannot open include file: 'apr.h': No such file or directory

        这是因为需要先编译【apr】,编译【apr】后会自动生成apr.h文件和apr_escape_test_char.h,就不会报错了。