ubuntu交叉编译qt4armqt
一.搭建PC平台环境:
系统:ubuntu 12.10
开发板:mini2440
gcc编译器:gcc-4.6.3 (ubuntu 自带更新gcc为4.7.1版本,先卸载gcc-4.7.1,然后sudoapt-get install gcc-4.6,至少为什么要gcc-4.6.3,因为最新版本的gcc对语法要求高,所以在编译的时候时常通不过,还得需要修改文件中的内容.以前完成以后,找到gcc的所以地方,用软链接,将gcc-4.6链接到gcc)
g++编译器:g++-4.6.3 (跟gcc一个道理)
准备所需要的资源:
下载qt-everywhere-opensource-src-4.6.3.tar.gz
sudo mkdir /opt/Qt-4.6.3
sudo cp -rqt-everywhere-opensource-src-4.6.3 /opt/Qt-4.6.3/
cd /opt/Qt-4.6.3
tar zxvf qt-everywhere-opensource-src-4.6.3
cd qtqt-everywhere-opensource-src-4.6.3
sudo apt-get install libX11-dev
sudo apt-get install libXext-dev
sudo apt-get install libXtst-dev
sudo apt-get install Xorg-dev
sudo apt-get install libtool
sudo apt-get install autoconf
sudo apt-get g++
如果以上步骤都已完成,以下三步配置与编绎应该没有问题。
第一步执行:./configure
第二步执行:make
第三步执行:make install
然后就可以在/usr/local/Trolltech/ 看到你所编译的PC 版的qt了。
搭建arm平台环境:
准备所需要的资源:
sudo apt-get install qt3-dev-tools
sudo apt-get install qt4-qmake
如果需要触模屏支持需要以下频骤:
用的是ts1.0的版本
export CC=arm-linux-gcc
tar zxvf tslib1.0
cd tslib1.0
为防止出现undefined reference to `rpl_malloc' 错误,采取以下措施:
echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
配置:
./configure --host=arm-linux-cache-file=arm-linux.cache --prefix=/opt/tslib/ --enable-input=no
如果运行ts_calibrate时出现“ts_open: No such file or directory” 则需要加上--enable-input=no
编译
make
安装
make install
第一步:./configure -prefix /usr/local/Trolltech/Qt-4.6.3-arm -opensource-confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++-depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg-qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian-no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2-no-3dnow -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib-no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomakeexamples -nomake tools -nomake docs -qt-mouse-tslib -I/opt/tslib/include-L/opt/tslib/lib
第二步:make
第三步:make install
然后就可以在/usr/local/Trolltech/ 看到你所编译的arm版的qt了。
以上有什么不对,望大伙指出。