海思3518ev200交叉编译gpac

一、首先移植zlib
在GitHub上搜索zlib,下载最新源码zlib-master.zip。
解压:unzip zlib-master.zip
进入目录:cd zlib-master
指定编译工具:export CC=arm-hisiv300-linux-gcc
配置工程:./configure --prefix=$PWD/_install
编译并安装:make && make install

二、编译gpac库
在GitHub上搜索gpac,下载最新源码gpac-master.zip。
解压:unzip gpac-master.zip
进入目录:cd gpac-master
配置工程:./configure --prefix=$PWD/_install --cc=arm-hisiv300-linux-gcc --cxx=arm-hisiv300-linux-g++ --extra-cflags=-I/home/phoenix/gpac-master/extra_lib/include/zlib/ --extral-ldflags=-L/home/phoenix/gpac-master/extral_lib/lib/gcc --disable-x11-shm --use-zlib=local
编译并安装:make && make install
修改config.mak文件中的STRIP等适应海思工具链,参考文档。

问题:出现/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/…/lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: libz.so.1, needed by …/…/bin/gcc/libgpac.so, not found (try using -rpath or -rpath-link)
…/…/bin/gcc/libgpac.so: undefined reference to’deflateEnd’
…/…/bin/gcc/libgpac.so: undefined reference to ‘gzclose’
根据第一句提示发现,它要链接交叉编译目录下的zlib库文件,因此上面我们指定的库路径没用到,将zlib的库文件拷贝到工具链的lib目录下,即sudo cp …/zlib-master/_install/lib/libz.* /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/lib/,重新编译成功

#tree bin/gcc

你可能感兴趣的:(海思工具环境搭建)