libde 265をarm 32ビットライブラリにクロスコンパイル


ネット上の265コーデックに関する情報は少なく、これはすべて自分で模索したものです!
ああ、万悪のコンパイルはやっと過ぎた.今考えてみれば、どんなコンパイラを使っても理屈は同じで、使うクロスコンパイラやそのアドレス情報などをコンパイラに伝えなければならない.cmakeコンパイラの下ではcmakelistだ.txtの下でクロスコンパイルの環境を設定して、gccの下で、exportの設定を通じて、./configureでコンパイルのターゲットを伝え、対応するmakefileファイルを生成します.今日は主にlibde 265ライブラリをarm 32のライブラリにコンパイルします.
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/H 265/opt/friendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++コンパイルを加えると過ぎます.最後に生成されたライブラリは/libde 265-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

コンパイル成功!!!