libxml2 海思平台交叉编译

1、前言

    xml使用非常广泛,而libxml2是C编写,非常著名,现在把该库移植到海思平台上,用来解析参数配置文件。

2、源码下载

    我的源码版本是libxml2-2.9.4

3、编译

 平台:aarch64-himix100-linux-

 配置选项:./configure --host=arm-linux --target=arm-linux CC=aarch64-himix100-linux-gcc AR=aarch64-himix100-linux-ar LD=aarch64-himix100-linux-ld  --prefix=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/target/usr/

make & make install

4、生成动态库和静态库

    在.libs下生成库文件,非常大,使用aarch64-himix100-linux-strip一下,头文件在include下,在其他程序中只要有include和lib就可以使用。

5.使用

编译testReader 报错

CC /home/xxx/CMYTCode-proj/sample/testReader/.obj/testReader.o
aarch64-himix100-linux-g++ -Wno-unused-variable -Wall -Werror -Os -Wno-write-strings -Wno-sign-compare -fno-strict-aliasing -traditional -Wno-reorder -Wno-char-subscripts -o "testReader" /home/shliu/CMYTCode-proj/sample/testReader/.obj/testReader.o -L/home/xxx/CMYTCode-proj/release/sample//../libcommon/lib/  -lpthread -lxml2
/home/xxx/CMYTCode-proj/release/sample//../libcommon/lib//libxml2.so: undefined reference to `dlopen'
/home/xxx/CMYTCode-proj/release/sample//../libcommon/lib//libxml2.so: undefined reference to `dlclose'
/home/xxx/CMYTCode-proj/release/sample//../libcommon/lib//libxml2.so: undefined reference to `dlerror'
/home/xxx/CMYTCode-proj/release/sample//../libcommon/lib//libxml2.so: undefined reference to `dlsym'
collect2: error: ld returned 1 exit status
rm_makefile:119: recipe for target 'testReader' failed
make[2]: *** [testReader] Error 1

原因是编译动态库时候没有加上 -ldl库 重新编译动态库,再次编译testReader,ok

./testReader --consumed slashdot.xml 
3675 bytes consumed by parser

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值