在arm-linux环境下的编译ActiveMQ-CPP 嵌入式版本库

(1) 编译安装cppunit-1.12.1 ,切换至该目录。
执行./configure  LDFLAGS = '-ldl  --host=arm-linux --prefix=/usr/local/arm/cppunit/
 成功之后,执行make,再执行make install 进行安装。这时可以到/usr/local下查看会生成cppunit目录。
注:
        在linux能正常编译,但在solaris下make时遇到点问题,报错:
        ../../include/cppunit/portability/FloatingPoint.h:43: error: `finite' undeclared (first use this function)
        解决办法:找到include/cppunit/portability/FloatingPoint.h,在前面加入#include <ieeefp.h> 即可
!!!!运行 ./configure 和make以后,出现错误:
undefined reference to `dlclose'  
undefined reference to `dlopen'  
undefined reference to `dlsym' 
解决的方法是在 ./configure 后面加上参数LDFLAS=‘-ldl’:
  1. make clean  
  2. ./configure LDFLAGS='-ldl'  
  3. make  
  4. sudo make install  
 
        (2) 编译安装apr-1.4.2 ,切换至该目录。
执行./configure --host=arm-linux --prefix=/usr/local/arm/apr / ac_cv_file__dev_zero="yes" ac_cv_func_setpgrp_void="yes" apr_cv_process_shared_works="yes" \apr_cv_mutex_robust_shared="no" apr_cv_tcp_nodelay_with_cork="yes" ac_cv_sizeof_struct_iovec="8" apr_cv_mutex_recursive="yes"
,执行make,再执行make install 进行安装。这时可以到/usr/local下查看会生成apr目录。 

可能出现的错误
    1:In file included from ./include/apr_pools.h:43,
                 from /lu/activemq/Libary/apr-1.4.2/include/arch/unix/../apr_private_common.h:24,
                 from /lu/activemq/Libary/apr-1.4.2/include/arch/unix/apr_private.h:951,
                 from passwd/apr_getpass.c:22:
                ./include/apr.h:488:2: error: #error no decision has been made on  APR_PATH_MAX  for your platform
                make[1]: *** [passwd/apr_getpass.lo] Error 1
                make[1]: Leaving directory `/lu/activemq/Libary/apr-1.4.2'
                make: *** [all-recursive] Error 1
解决方法:修改apr.h
#include <limits.h>  (Line 156)
为 #include <linux/limits.h>



   (3)编译安装apr-util-1.3.9,切换至该目录。执行./configure --host=arm-linux --prefix=/usr/local/arm/aprutil --with-apr=/usr/local/arm/apr/

,执行make,执行make install。这时可以到/usr/local下查看会生成apache目录。
 
        (4)编译安装apr-iconv-1.2.1 ,切换至该目录。执行./configure --prefix=/usr/local/apr-iconv/  --with-apr=/usr/local/apr/,执行make,再执行make install 进行安装。这时可以到/usr/local下查看会生成apr-conv目录。
 
        (5)编译安装openssl 1.0.0a ,切换至该目录。执行./config --prefix=/usr/local/openssl/,执行sudo make,再执行sudo make install 进行安装。这时可以到/usr/local下查看会生成openssl目录。
 
        (6)编译安装e2fsprogs,切换至该目录。执行./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs,执行sudo make,再执行sudo make install 进行安装。
        下载地址:http://e2fsprogs.sourceforge.net/
        参考:http://man.chinaunix.net/linux/lfs/htmlbook/chapter06/e2fsprogs.html
 
        (7)编译安装expat, 切换至该目录。执行./configure --prefix=/usr,执行sudo make,再执行sudo make install 进行安装.
        expat下载地址:http://prdownloads.sourceforge.net/expat/expat-1.95.7.tar.gz
 
        (8)编译安装ActiveMQ-CPP ,切换至该目录。执行 ./configure --host=arm-linux --prefix=/usr/local/arm/ActiveMQ-CPP --with-apr=/usr/local/arm/apr/ --with-apr-util=/usr/local/arm/aprutil --with-cppunit=/usr/local/arm/cppunit --with-openssl=/usr/local/arm/openss
然后执行 sudo make && make install 编译安装

猜你喜欢

转载自blog.csdn.net/lx121451/article/details/78717603