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

Activemq-cpp编译静态库

薛英卫
2023-12-01

背景

由于项目需求,需要给嵌入式设备编译一个ActiveMQ-CPP的静态库,必须需要的库有(用的都是比较老的库):

  1. cppunit-1.12.1 下载地址
  2. apr-1.4.8 下载地址
  3. apr-util-1.5.3 下载地址
  4. openssl-1.0.1e 下载地址
  5. activemq-cpp-library-3.7.0-src 下载地址

步骤(按下面顺序编译)

  • 编译libcppunit.a
    1:解压源文件,cd到根目录下
    2:通过设置configure,生成makefile,命令如下(XXX根据具体环境来设置):
    • ./configure --enable-shared=no --enable-static=yes CC=“arm-XXX-linux-gcc” CFLAGS=""-I/Include -Wall -O2 -Os -g" CXX=“arm-XXX-linux-g++” CXXFLAGS="-I/Include -Wall -O2 -Os -g" --host=arm-linux --prefix=/home/123/lib/cppunit/(安装路径)
    • make && make install
  • 编译libapr-1.a
    1:解压源文件,cd到根目录下
    2:按照下面命令依次执行,设置configure,生成makefile,命令如下(XXX根据具体环境来设置):
    • echo apr_cv_tcp_nodelay_with_cork=yes>arm-linux.cache
    • ./configure --enable-shared=no --enable-static=yes CC=“arm-XXX-linux-gcc” CFLAGS=""-I/Include -Wall -O2 -Os -g" --host=arm-linux ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes ac_cv_sizeof_struct_iovec=8 --cache=arm-linux.cache apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes --prefix=/home/123/lib/apr/(安装路径)
    • make && make install
  • 编译libaprutil-1.a
    1:解压源文件,cd到根目录下
    2:通过设置configure,生成makefile,命令如下(XXX根据具体环境来设置):
    • ./configure --enable-shared=no --enable-static=yes CC=“arm-XXX-linux-gcc” CFLAGS=""-I/Include -Wall -O2 -Os -g" --with-apr=/home/123/lib/libapr-1/ --host=arm-linux --prefix=/home/123/lib/apr/(安装路径,必须和apr路径一致)
    • make && make install
  • 编译libssl.a
    1:解压源文件,cd到根目录下
    2:通过设置config,生成makefile,命令如下(XXX根据具体环境来设置):
    • export PATH=$PATH:/opt/XXX/XXX/bin/(编译环境路径)
    • export CC=arm-XXX-linux-gcc
    • ./configure no-asm no-async -shared --prefix=/home/123/lib/openssl/(安装路径)
    • 手动删除makefile中的"-m64"(一共2个)
    • make && make install
  • 编译libactivemq-cpp.a
    1:解压源文件,cd到根目录下
    2:执行下面命令,设置configure,生成makefile,命令如下(XXX根据具体环境来设置):
    • ./configure --enable-shared=no --enable-static=yes CC=“arm-XXX-linux-gcc” CFLAGS=""-I/Include -Wall -O2 -Os -g" CXX=“arm-XXX-linux-g++” CXXFLAGS="-I/Include -Wall -O2 -Os -g" --host=arm-linux --prefix=/home/123/lib/activemq-cpp/ --with-apr=/home/123/lib/apr/ --with-apr-util=/home/123/lib/apr --with-cppunit=/home/123/lib/cppunit --with-openssl=/home/123/lib/openssl/(安装路径)
    • make && make install
 类似资料: