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. 其它细节

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

  • 相关阅读:
    CodeForces 460B
    CodeForces 456A
    CodeForces462B
    HDU1394(线段树||树状数组)
    HDU1541(树状数组)
    HDU1556(树状数组)
    HDU5726(RMQ&&二分)
    POJ1182(并查集)
    HDU4496(并查集)
    HDU3038(并查集)
  • 原文地址:https://www.cnblogs.com/chenfeibiao/p/12187302.html
Copyright © 2011-2022 走看看