「linux」S3C2416下Qt4.6.3移植笔记

QT 源码下载  
这是官方下载地址:http://qt.nokia.com/downloads
点击右下角的 ftp.qt.nokia.com
ftp的归档下载地址,这里有各种版本的源码下载:
ftp://ftp.qt.nokia.com/qt/source/

QT版本:qt-everywhere-opensource-src-4.6.3.tar.gz
开发板:s3c2416
主机系统:ubuntu 12.04
交叉编译器:4.1.2

安装4.1.2交叉编译器:
进入压缩文件目录
tar zxvf arm920t-eabi.tgz -C /
设置环境变量PATH
打开文件  #vim /etc/bash.bashrc
在最后加一句 PATH=/opt/toolchains/arm920t-eabi/bin:$PATH
使变量生效  #source /etc/profile

安装触摸屏校验工具:
把tslib-1.4.tar.gz放到/opt目录下
tar zxvf tslib-1.4.tar.gz -C /opt/
安装库 apt-get install libtool autoconf automake
进入tslib文件夹执行
#./autogen.sh
#./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
#make
#make install

编译Qt-4.6.3库(arm版本):
tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz -C /opt/
拷贝一个复本命名为qt-everywhere-arm
cp -a qt-everywhere-opensource-src-4.6.3/ qt-4.6.3-arm

修改文件夹下src/3rdparty/freetype/include/freetype/config/ftconfig.h,将第330行修改为:"orr    %0, %0,%2, lsl #16\n\t"  /* %0 |= %2 << 16 */

设置环境变量:#export CPLUS_INCLUDE_PATH=/opt/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++:/opt/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++/arm-angstrom-linux-gnueabi
可以在/root/./bashrc里面把这句添加进去

将/opt/qt-4.6.3-arm/mkspecs/qws/linux-arm-g++/qmake.conf文件修改为下面的内容
# modifications to g++.conf
QMAKE_CC                = arm-linux-gcc  -lts//ubuntu下改成”-lts”
QMAKE_CXX               = arm-linux-g++  -lts
QMAKE_LINK              = arm-linux-g++  -lts
QMAKE_LINK_SHLIB        = arm-linux-g++  -lts
缺少了链接选项

#./configure -prefix /usr/local/Trolltech/QtEmbedded-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-openssl -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 -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
需指定tslib编译文件,不然的话可能会找不到,导致tslib的功能无法实现而使编译无法正常进行

#make 

#make install


然后在“opt/”目录下新建一个名为“qt-4.6.3/”的目录。
然后复制“/usr/local/Trolltech/QtEmbedded-4.6.3-arm”目录下的“lib/”目录到前面建立的“qt-4.6.3/”目录下,
然后进到刚刚复制过来的“lib/”目录下,删掉除去“fonts/”目录和“*.so*”文件外的其他文件,然后在“fonts/”目录下删掉用不到的字库文件,具体删掉哪些字库请根据实际情况决定。
然后复制“/usr/local/Trolltech/QtEmbedded-4.6.3-arm”目录下的“plugins/imageformats/”目录到前面建立的“qt-4.6.3/”目录下。
然后在前面建立的“qt-4.6.3/”目录下建立一个名为“bin/”的目录,然后复制刚刚编译好的那些 Qt4 的
测试程序,比如“mainwindow”程序和“hello_cn”等。

将/usr/local/tslib/lib下的libts-0.0.so.0.1.1文件改名为libts-0.0.so.0放到文件系统/qt-4.6.3/lib目录下
由于libstdc++.so.6版本过低,运行应用程序时会出错,下载一个libstdc++.so.6.0.8,建立链接文件libstdc++.so.6指向libstdc++.so.6.8,两个文件放入文件系统/qt-4.6.3/lib目录下。

修改文件系统的“etc/profile”文件(为了单独运行 Qt 程序而设置该文件)
,改为:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Ash profile 
# vim: syntax=sh

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

export set HOME=/root
export set QTDIR=/opt/qt-4.6.3
export set QPEDIR=/opt/qt-4.6.3
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export set QWS_KEYBOARD="TTY:/dev/tty1"
if [ -f /sys/devices/virtual/input/input0/uevent ] ; then
export set TSLIB_TSDEVICE=/dev/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set QWS_MOUSE_PROTO="TSLIB:/dev/event0 Intellimouse:/dev/mouse0"
else
export set QWS_MOUSE_PROTO="Intellimouse:/dev/mouse0"
fi
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH

USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH
________________________________________________________________________

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值