参考:
http://www.arm9home.net/read.php?tid-5161.html
http://www.arm9home.net/read.php?tid-5182.html
http://blog.sina.com.cn/s/blog_6541e78f0100ihoy.html?retcode=0
http://blog.sina.com.cn/s/blog_6541e78f0100ihp3.html?retcode=0
http://hi.baidu.com/jiyeqian/blog/item/f46d26a2ff3f7da6caefd0d6.html
http://hi.baidu.com/清水小流/blog/item/9b9ac64bb8b4aaf383025ce0.html
http://blog.ednchina.com/gurongjiang/352778/Message.aspx
(一)编译QT前,安装相应的库文件
sudo apt-get install libx11-dev
sudo apt-get install libgtkglextmm-x11-dev
sudo apt-get install libghc6-x11-dev
sudo apt-get install libgl1-mesa-swx11-dev
sudo apt-get install xorg-dev
(二)下载准备
QT版本下载地址:http://qt.nokia.com/downloads-cn
(1)qt-creator-linux-x86-opensource-1.3.1.bin
http://qt.nokia.com/downloads/qt-creator-binary-for-linux-x11-32-bit
(2)qt-everywhere-opensource-src-4.6.2.tar.gz
http://qt.nokia.com/downloads/embedded-linux-cpp
(3)arm-linux-gcc-4.1.2
http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz
把下载的文件放在/opt/FriendlyARM/mini2440, 然后执行
sudo tar xvzf qt-everywhere-opensource-src-4.6.3.tar.gz
并把解压所得的文件复制为三份, 分别命名为qt-x86-4.6.3, qt-x86e-4.6.3, qt-arm-4.6.3,, 分别对应PC, 嵌入式x86, 嵌入式arm平台.
(三)开始编译
(1) 编译 PC 版:
cd /opt/FriendlyARM/mini2440/qt-x86-4.6.3
#./configure
# make
# make install
此过程耗时较长
pc平台的还需要一个qvfb模拟器, 编译过程如下:
cd /opt/FriendlyARM/mini2440/qt-x86-4.6.3/tools/qvfb/
#make
编译完毕,将qt-x86-4.6.3/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.2/bin目录。
并把这个bin目录添加path: sudu gedit /root/.bashrc
(2) 编译嵌入式x86版:
cd /opt/FriendlyARM/mini2440/qt-x86e-4.6.3
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# make
# make install
此过程耗时较长
(3)编译嵌入式arm版(需要 arm-linux-gcc ,而不是以上两个用的gcc 4.4.1):
和上面的编译过程稍有不同,一是需要安装arm-linux-gcc 4.1.2, 二是需要安装tslib。
(3-a)安装arm-linux-gcc 4.1.2
据说使用友善自带的ARM-Linux GCC 4.3.2编译的程序移植到开发板上后,出现Segmentation Fault错误,so~ 改用ARM-Linux GCC 4.1.2。
直接将arm920t-eabi.tgz放在根目录解压:sudo tar xvzf arm920t-eabi.tgz
把编译器路径加入系统环境变量,运行命令:gedit /root/.bashrc
编辑/root/.bashrc文件,在最后一行加上 export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH
(3-b)安装tslib
这里还有一段插曲, 首先tslib1.4.tar.gz这个玩意不好找, 后来在csdn上下花四个大分下载了一个包, 第二, 里面的autogen.sh脚本, 需要"autotools", 即autoconf, automake, libtool, 安装这三个玩意耗费了我将近两个钟头,,,
编译tslib对触摸屏支持:
下载 tslib1.4.tar.gz,仍然放在/opt/FriendlyARM/mini2440/, 解压后进入目录,如果该目录下没有configure文件,先执行autogen.sh脚本生成。
# ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make
# make install
设置环境变量,以