編譯QT用到的各種庫

編譯QT用到的各種庫:

1:編譯e2fsprogs-1.39
 
編譯這個主要是爲了得到uuid.h,libuuid.so
tar -xzvf e2fsprogs-1.39.tar.gz r
cd e2fsprogs-1.39
export CC=arm-linux-gcc
./configure --with-cc=arm-linux-gcc --with-linker=arm-linux-ld --host=arm --enable-elf-shlibs -prefix=/usr/local/gcc-3.4.5/arm-linux

make
make install-lib


2:編譯jpeg
tar -xzvf jpegsrc.v6b.tar.gz
注意:在一個新的窗口中登錄,此時先不要設置CC。
cd jpeg-6b/
 ./configure -enable-shared
make
make clean
這樣做是爲了生成libtool,否則直接交叉編譯是通不過的。(這一步我沒有做,我從其它版本的jpeg中拷貝了一個libtool)


./configure --enable-shared --enable-static --prefix=/usr/local/gcc-3.4.5/arm-linux --build=i386 --host=arm
修改Makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
AR2=arm-linux-ranlib


make
make install-lib
在install的時候會報錯,主要是說哪些目錄沒有創建,根據錯誤提示創建相關目錄就可以了(我沒遇到此問題)。

3:編譯zlib
 
tar -xzvf zlib-1.2.3.tar.gz
更改文件夾名:
mv zlib-1.2.3 zlib(這樣做主要是在後面編譯libpng的時候要用到zlib)

cd zlib
export CC=arm-linux-gcc

./configure --prefix=/usr/local/gcc-3.4.5/arm-linux/ --shared

修改Makefile
AR=arm-linux-ar -rc
RANLIB=arm-linux-ranlib

make
make install


4:編譯libpng

前置條件 : 應該編譯了zlib, 且zlib和libpng在同層目錄,目錄名爲zlib(makefile的設置要求)
 
tar -xzvf libpng-1.2.14.tar.gz
cd libpng-1.2.14
拷貝並更名爲makefile:
cp scripts/makefile.linux Makefile

修改makefile
AR_RC=arm-linux-ar rc
CC=arm-linux-gcc
RANLIB=arm-linux-ranlib
prefix=/usr/local/gcc-3.4.5/arm-linux

make
make install
注意:這個地方可能會發生問題,在後面編譯qtopia的時候可能需要的lpng庫爲:libpng.so,而我們剛剛編譯出來的是libpng12.so,所以我們現在就到/root/imx27/armlib中把所有libpng12的名字改爲libpng。
到/root/imx27/armlib中看一下所有的庫文件是不是ARM的,要是不是的話重新編譯相關的庫。 (我沒遇到此問題)


注意:prefix 所指定的是執行make install時的安裝路徑
        最好編譯一個庫重開一個終端窗口.這樣能避免上一次的設置對此造成影響(如export的聲明).

 

 

說明:這是我從網上搜索各位大蝦們的文章並整理的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章