zoukankan      html  css  js  c++  java
  • Arm Linux交叉编译Xalan-C++

    1. Xalan-C++源代码下载

    http://xalan.apache.org/xalan-c/download.html

    2. Xalan-C++帮助文档

    https://xml.apache.org/xalan-c/index.html

     Xalan-C++需要Xerces-C++的支持。所以需要先下载和编译Xerces-C++。注意版本匹配, Xalan-C++ 1.11需要Xerces-C++ 3.0以上的版本。

    之前的版本不建议使用,对Linux支持不是很好 

    3.Xerces-C++源代码下载

    http://mirror.bit.edu.cn/apache/xerces/c/3/sources/

    4.Xerces-C++交叉编译

    #!/bin/sh
    
    XALAN_SRC_PATH=/root/Documents/work_space/xalan-c/xalan-c
    XERCES_SRC_PATH=/root/Documents/work_space/xerces-c/xerces-c-3.1.0
    GCC=your-cross-compile-path/your-gcc
    GPP=your-cross-compile-path/your-g++
    export XERCESCROOT=your-install-pathecho ${XALAN_SRC_PATH} echo ${XERCES_SRC_PATH} cd $XERCES_SRC_PATH if [ $? -ne 0 ]; then echo "failed" else ./configure --disable-static CC=${GCC} CXX=${GPP} --prefix=${XERCESCROOT} --host=arm-linux if [ $? -ne 0 ]; then echo "failed" else make install fi fi

    5. Xerces-C++帮助文档

    源代码的doc/index.html里面有

    6.Xalan-C++交叉编译

    Xalan-C在交叉编译过程中会使用到自己生成的MsgCreator,所以如果编译机器和目标机器的可执行程序不一致,可能会导致编译失败。

    所以这里要采用特殊的方法。

    修改…./xalan-c-1.11/c/src/xalanc/Utils/MsgCreator/Malefile.in文件

    将XSL_BIN_DIR改成XSL_BIN_TMP_DIR,然后在编译脚本里加上XSL_BIN_TMP_DIR这个变量路径,指向本及可执行的MsgCreator程序(可以是之前本机编译好的程序)

    注意,MsgCreator还依赖Xerces生成的库,因此不要忘记在脚本里加上

    下面是参考编译脚本:

    #!/bin/sh
    XERCESCROOT=/opt/project/dependencies/gnueabi/xerces
    XALANCROOT=/root/Documents/work_space/xalan-c-1.11/c
    GCC=your-cross-compile-path/your-gcc
    GPP=your-cross-compile-path/your-g++
    INSTALL_PATH=/opt/project/dependencies/gnueabi/xalan XSL_BIN_TMP_DIR=/root/Documents/work_space/xalan-c-1.11/c/binTmp export XERCESCROOT export XALANCROOT export XSL_BIN_TMP_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/project/dependencies/x86/xerces/lib:/opt/project/dependencies/x86/xerces/bin cd ${XALANCROOT} if [ $? -ne 0 ]; then echo "failed" else ./runConfigure -p linux -c ${GCC} -x ${GPP} -P ${INSTALL_PATH} -C--host=arm-linux if [ $? -ne 0 ]; then echo "failed" else make clean make install fi fi

    10. 其它细节

    本文只是记录一些比较大的坑,一些正常流程可以参考帮助文档。

  • 相关阅读:
    前端 JS+CSS
    Git 命令行操作
    信息安全 学习笔记(2)——防火墙(Netfilter/ IPtables)
    信息安全 学习笔记(3)—— 后门(Backdoor+rootkit)
    Linux课程学习总结报告
    信息安全 学习笔记(4)—— 【问答题 复习纲要】
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    centos安装和卸载软件
    zookeeper错误KeeperErrorCode = ConnectionLoss解决
    查看linux信息
  • 原文地址:https://www.cnblogs.com/chenfeibiao/p/12187302.html
Copyright © 2011-2022 走看看