歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> CentOS下編譯Xalan-C++1.10.0

CentOS下編譯Xalan-C++1.10.0

日期:2017/3/1 10:03:41   编辑:Linux編程

背景
OS:CentOS6.2
編譯器:gcc
Xalan-C++:1.10.0
Xalan-C++下載地址:http://xml.apache.org/xalan-c/

文檔約定
xerces-C++2.8.0源碼路徑為/vendor/xerces/xerces-c-src_2_8_0
Xalan-C++1.10.0源碼路徑為/vendor/xalan-c/Xalan-C_1_10_0-src

編譯步驟
1)編譯和安裝xerces-C++2.8.0
注意:最好安裝xerces-C++(make install),否則需要設置xerces-C++的include和lib路徑

2)導出XERCESCROOT
#export XERCESCROOT=/vendor/xerces/xerces-c-src_2_8_0/

3)導出XALANCROOT
#export XALANCROOT=/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c

4)進入編譯目錄
#cd $XALANCROOT/src/xalanc

5)運行配置,生成Makefile
#./runConfigure -p linux -c gcc -x g++

6)編譯
#make

編譯過程中若出現如下錯誤:
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp:251: 錯誤:‘memmove’在此作用域中尚未聲明
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp: In static member function ‘static xalanc_1_10::XalanDOMString::size_type xalanc_1_10::XalanDOMString::length(const char*)’:
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp:780: 錯誤:‘strlen’在此作用域中尚未聲明
修改/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp文件
增加如下代碼:
#include <string.h>

若出現如下錯誤:
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XMLSupport/FormatterToHTML.cpp:175: 錯誤:‘memset’在此作用域中尚未聲明
修改/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XMLSupport/FormatterToHTML.cpp
增加如下代碼:
#include <string.h>

若出現如下錯誤:
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XSLT/ElemNumber.cpp:1472: 錯誤:‘memset’在此作用域中尚未聲明
修改/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/XSLT/ElemNumber.cpp
增加如下代碼:
#include <string.h>

若出現如下錯誤:
/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp:346: 錯誤:‘strlen’在此作用域中尚未聲明
修改/vendor/xalan-c/Xalan-C_1_10_0-src/xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp
增加如下代碼:
#include <string.h>

Copyright © Linux教程網 All Rights Reserved