交叉编译 libde265 到arm32位库

网上关于265编解码器的信息很少,这都是自己摸索出来的!

呼,万恶的编译终于都过了,现在想想其实不管用什么编译器道理都是一样的,都是要把要用的交叉编译器以及它的地址信息等告诉给编译器,在cmake编译器下就是在cmakelist.txt下设置交叉编译的环境,在gcc下,就是通过export 设置,在./configure时告诉编译的目标,然后生成相应的makefile文件。今天主要是把libde265库编译为arm32的库。

cd /home/heling/H265/libde265-master 
./autogen.sh

生成configure文件后,开始设置编译器等信息,直接在终端中输入以下信息,当然你也可以写个脚本什么的。

export CC=/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc 
export CXX=/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ 
export LDFLAGS="-L/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/lib" 
export CFLAGS="-I/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/include" 

设置交叉编译器的信息,然后configure,生成makefile

./configure --host=arm-linux-androideabi  --prefix=/home/heling/H265/libde265-master 

configure没有问题,就开始make

make 
make install 

之前编译一直报一个错:

“ ld: warning: i386 architecture of input file `XX.o' is incompatible with i386:x86-64 output” 

实际上是因为我的CXX没有设置 ,加上
export CXX=/home/heling/H265/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ 编译就过了。最后生成的库在/libde265-master/lib目录下,通过

 file libde265.so.0.0.8

查看编译库的类型,

libde265.so.0.0.8: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped

编译成功!!!

你可能感兴趣的:(gcc,ARM,libde265,交叉编译)