linux stl 编译,[转]Linux 下 编译Xerces-c++ 详解

来源:http://blog.chinaunix.net/u/8649/showart_73478.html

前几天在搞XML解析,费了很大的周折才知道Xerces C++ 的用法

所以记录下来安装过程.

Linux 下

编译Xerces-c++

按照 doc/html 文件夹中的详细指导编译 Xerces-C++ 共享库。下面的命令展示了如何用压缩的源文件编译

Xerces-C++ 库。这里假定在像 /home/ 这样的目录中有 xerces-c-src_2_7_0.tar.gz 文件。不管选的是什么目录,它都应该与 XERCESCROOT 变量匹配,因为 configure 脚本有这个要求。

# tar -zxvf xerces-c-src_2_7_0.tar.gz

# cd ./xerces-c-src_2_7_0

# chmod +x configure

# ./configure --prefix=/usr

# make

# make install

对于本例后面的部分,我假设源树是在 /home/xerces-c-src_2_7_0 目录中。如果一切顺利,共享库应该出现在 lib文件夹中。如果有问题,那么请参考 /doc/html 文件夹中的编译指导。这时,您可以将这个库(和

symlinks)拷贝到 /usr/lib ,或者定义相应的环境变量以使装载器可以找到新编译的库。

测试新库的方便方法是编译并运行一个例子:

# export XERCESCROOT=/home/xerces-c-src_2_7_0 # cd $(XERCESCROOT)/samples # ./configure # make all

我在一个全新安装的 Redhat Linux 9.0 上编译其中一个例子中遇到了一个小问题。链接器抱怨缺少与

pthread 相关的输出。我编辑了 Makefile.incl 文件以包括对 -lpthread 的引用并再次运行 configure 。第二次时键入 make

all就可以了。

#=============== LINUX SPECIFIC OPTIONS

=========================

ifeq (${PLATFORM}, LINUX)

ifeq (${COMPILER}, xlC_r)

CMP= -c ${CXXFLAGS} -qnotempinc

CC= ${COMPILER} -c -D${PLATFORM}

LINK =  ${COMPILER} ${LDFLAGS}

PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib

EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}

SHLIBSUFFIX=.so

else

CMP= -c ${CXXFLAGS}

CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT

-fpic

LINK =  ${COMPILER} -D${PLATFORM} -fpic

${LDFLAGS}

PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib

-lpthread  //在这加上就行了

EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}

SHLIBSUFFIX=.so

endif

endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值