My QT安装全记录.doc_第1页
My QT安装全记录.doc_第2页
My QT安装全记录.doc_第3页
My QT安装全记录.doc_第4页
My QT安装全记录.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

My QT安装全记录 一、myQT/X11-4.5.3安装 1、解压安装包tar xzvfqt-x11-opensource-src-4.5.3.tar.gz 2、进入源码目录cd qt-x11-opensource-src-4.5. 33、配置文件./configureno-openssl 4、编译make 5、安装make install 6、添加环境变量vi/etc/profile添加export PATH=/usr/local/Trolltech/Qt-4.5.3/bin:$PATH 7、是环境变量生效source/etc/profile 8、查看qmake的版本,确保环境变量生效qmakev 二、QT/E-4.5.3for ARM(交叉编译器4.1.2) 1、解压源码包tar xzvfqt-embedded-linux-opensource-src-4.5.3.tar.gz 2、在/usr/local目录下新建文件mkdir/Trolltech/QTE-4.5. 33、进入源码目录cd qt-embedded-linux-opensource-src-4.5. 34、配置文件./configure-embedded arm-xplatform qws/linux-arm-g+-no-mouse-linuxtp-qt-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib-no-qt3support-no-openssl-nomake deoms-nomake examples-nomake doc-nomake toolsprefix/usr/local/Trolltech/QTE-4.5.3qt-libjpegqt-libpngI/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+/arm-angstrom-linux-gnueabi 5、编译make 6、安装make install 7、添加环境变量vi/etc/profile添加export PATH=/usr/local/Trolltech/Qtembedded-4.5.3/bin:$PATH 8、使环境变量生效source/etc/profile 三、Tslib1.4移植(交叉编译器4.3.2) 1、先解压m4-1.4.13.tar.bz2tar xjvfm4-1.4.13.tar.bz2进入m4-1.4.13目录安装m4程序#./configure#make#make install 2、解压autoconf-2.64.tar.tartar xzvfautoconf-2.64.tar.tar进入autoconf-2.64目录下安装autoconf-2.64程序#./configure#make#make install 3、解压tslib-1.4.tar.gz:tar xzvftslib-1.4.tar.gz进入tslib-1.4目录中先执行#export PATH=$PATH:/usr/local/arm/4.3.2/bin#export CC=arm-linux-g#export CXX=arm-linux-g+#./autogen.sh配置./configureprefix=/home/lbl/tslibhost=arm-linux ac_cv_func_malloc_0_nonnull=yes编译make安装make install 4、生成的文件在/home/lbl/tslib目录下,将该目录下的所有文件复制到制作的根文件系统下的/usr/local/tslib/目录下,修改ts.conf文件将第二行的注释去掉,复制ts_calibrate到/usr/bin目录下 5、环境变量的配置TSLIB_TSDEVICE/触摸屏设备文件名Default(no inputapi):/dev/touchscreen/ucb1x00Default(inputapi):/dev/input/event0TSLIB_CALIBFILE/校准的数据文件,由ts_calibrate校准程序生成Default:$sysconfdir/pointercal TSLIB_CONFFILE/配置文件名Default:$sysconfdir/ts.conf TSLIB_PLUGINDIR/插件目录Default:$datadir/plugins TSLIB_CONSOLEDEVICE/控制台设备文件名Default:/dev/tty TSLIB_FBDEVICE/FrameBuffer设备名Default:/dev/fb0在/etc/profile文件中添加如下配置代码export TSLIB_ROOT=/usr/local/tslib export TSLIB_TSDEVICE=/dev/event0export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf exportTSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts exportTSLIB_CONSOLEDEVICE=none exportTSLIB_FBDEVICE=/dev/fb0export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib错误/dev/input/event0:No suchfile ordirectory解决mknod/dev/input/event0c1364ioctl VT_OPENQRY:Inappropriate ioctlfor deviceKDSETMODE:Bad filedescriptor解决exportTSLIB_CONSOLEDEVICE=none openfbdevice:No suchfile ordirectory解决exportTSLIB_FBDEVICE=/dev/fb0如果没有fb0则还得手动添加mknod/dev/fb0c290 四、madplay移植之静态编译(交叉编译器4.3.2)由于用arm-linux-g-4.1.2版本的交叉编译器编译madplay源码包报错于是改用4.3.2版本的交叉编译器但是根文件系统使用4.1.2版本的交叉编译器制作的所以madplay只能用4.3.2版本编译器进行静态编译。 在home下,mkdir两个文件夹madplay-src madplay依次解压四个源码包到madplay-src目录下tar xzvfXXXXXXXXX1.编译zlib-1.1.4首先配置configure文件#./configure-prefix=/home/madplay修改Makefile CC=arm-linux-g AR=arm-linux-ar rcRANLIB=arm-linux-ranlib#make#make install2.编译libid3tag#./configure CC=arm-linux-g-host=arm-linux-prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib-disable-shared-enable-static#make#make install3.编译libmad#./configure CC=arm-linux-g-host=arm-linux-prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib-disable-shared-enable-static#make#make install编译libmad文件包会报错提示无法连接-fforce-mem”,由于是静态编译无法自动连接动态库所以在libmad文件包中的Makefile文件中删除-fforce-mem”即可4.编译madplay#./configure CC=arm-linux-g-host=arm-linux-prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib-disable-shared-enable-static#make编译完之后用命令#arm-linux-readelf-d madplay查看应用程序madplay是否需要动态链接库,结果是需要所以由执行命令#arm-linux-g-Wall-g-O2-o madplaymadplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_oss.o-L/home/madplay/lib/home/madplay/lib/libmad.a/home/madplay/lib/libid3tag.a-lz-lm-static命令是在编译madplay文件包时的编译信息中复制出来的在最后加上-static目的是将所需的动态连接库也一起编译到应用程序中将madplay应用程序拷贝到文件系统中的/usr/bin目录下(注我的文件系统为root_2.6.31,所以将应用程序拷贝到目录/root_2.6.31/usr/bin下),再将一首MP3歌曲拷贝到/root_2.6.31/home目录下在root_2.6.31的上一级目录下直走文件系统输入命令#mkyaffs2image root_2.6.31root_2.6.31.bin#chmod777root_2.6.31.bin最后将编译好的文件系统下载到开发版中即可。 四、根文件系统制作(交叉编译器4.1.2) 1、创建根文件系统目录mkdir root_2.6.32并在其目录下创建一下文件/bin,/etc,/dev,/home,/mnt,/opt,/proc,/root,/sbin,/sys,/tmp,/usr,/var 2、解压busybox1.15.2tar xjvfbusybox1.15.2.tar.bz2进入源码目录修改Makefile文件CROSS_PILE=arm-linux-ARCH=arm执行#make menuconfig进行图形界面的配置BuildOptions-BuildBusyBox asa staticbinary(no sharedlibs)(此项代表文件系统是否要共享libs库函数,如果选上,到最后就可以不用人为地添加libs库文件了,但是如果不添加libs库文件,以后的应用程序也要静态编译了)Installation Options(“make install”behavior)-(./rootfsl)Busybox installationprefix(指定busybox的安装路径)Busybox LibraryTuning-*vi-style lineediting mands/是否有问题*Fancy shellprompts(要选择这个选项:“Fancy shellprompts”,否则挂载文件系统后,无法正常显示命令提示符“uhW#”)添加mdev(可以实现设备节点的自动创建和设备的自动挂载,mdev具体可以查看)Linux SystemUtilities-*mdev*Support/etc/mdev.conf*Supportmand executionat deviceaddition/removal LinuxModule Utilities-simplified modutils*insmod*rmmod*lsmod*modprobe 3、编译make 4、安装make install 5、将在rootfs中生成的文件/bin/sbin/usr linuxrc文件全部复制到刚创建好的root_2.6.32文件中cpafr*/home/lbl/linux/mylinux/root_2.6. 326、在root_2.6.32/dev目录下创建两个设备节点(根据错误情况可添加多个)#mknod consolec51#mknod nullc13若出现以下问题cant open/dev/ttyS0:No suchfile ordirectory cant open/dev/s3c2410_serial0:No suchfile ordirectory则再添加以下设备节点#mknod ttyS0c40#mknod s3c2410_serial0c 204647、进入etc目录,添加文件:拷贝Busybox-1.15.2/examples/bootfloopy/etc/*到当前目录下。 #cpr././busybox-1.15.2/examples/bootfloopy/etc/*./包括文件:fstab init.d inittabprofile 8、拷贝/etc/passwd,/etc/group,/etc/shadow到当前目录下。 #cp/etc/passwd./#cp/etc/group./#cp/etc/shadow./ 9、修改inittab文件如下console:sysint:/etc/init.d/rcS ttyS0:respawn:-/bin/sh s3c2410_serial0:askfirst:-/bin/sh:once:/usr/sbin/teldl/bin/login:ctrlaltdel:/bin/umounta-r修改fstab文件如下proc/proc procdefaults00tmpfs/tmp tmpfsdefaults00sysfs/sys sysfsdefaults00tmpfs/dev tmpfsdefaults00var/dev tmpfsdefaults00修改init.d/rcS文件如下#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin runlevel=S prevlevel=N umask022export PATHrunlevel prevlevelmount-a mkdir/dev/pts mount-t devptsdevpts/dev/pts echo/sbin/mdev/proc/sys/kernel/hotplug mdev-s mkdir-p/var/lock/bin/hostname-F/etc/sysconfig/HOSTNAME修改profile文件如下#Ash profile#vim:syntax=sh#No corefiles bydefault#ulimit-S-c0/dev/null2&1/bin/hostname-F/etc/sysconfig/HOSTNAME(添加上面那句话能显示USR的名字)USER=id-unLOGNAME=$USER PS1=uhW#PATH=$PATH HOSTNAME=/bin/hostnameechoProcessing/etc/profile.echoDoneexport USERLOGNAME PS1PATH在etc/目录先新建sysconfig目录,在目录里面新建一个文件vi HOSTNAME其内容为MINI2440保存退出 10、拷贝库文件进入lib目录下,拷贝交叉编译器4.1.2的库文件到lib目录下#cpaf/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib/*.so*./ 11、 五、使用mkyaffs2image工具生成根文件系统的镜像文件Qtopia手机平台的移植(交叉编译器4.1.2) 1、在/home/lbl目录下新建qtopia目录mkdir qtopia移动qtopia-opensource-src-4.2.4.tar.gz到qtopia目录mv qtopia-opensource-src-4.2.4.tar.gz qtopia解压qtopia-opensource-src-4.2.4.tar.gz目录tar xzvfqtopia-opensource-src-4.2.4.tar.gz并更名为sourcemv qtopia-opensource-src-4.2.4source在qtopia目录下新建target的目录mkdir target在新建一个安装目录mkdirp/usr/local/qtopia 2、进入source/qtopiacore/qconfig-qpe.h首先注释掉关于鼠标光标的宏定义,让程序运行时,触摸屏中央有光标出现/Qtopia Core/*#ifndef QT_NO_QWS_CURSOR#define QT_NO_QWS_CURSOR#endif*/*#ifndef QT_NO_QWS_MOUSE#define QT_NO_QWS_MOUSE#endif#ifndef QT_NO_QWS_MOUSE_AUTO#define QT_NO_QWS_MOUSE_AUTO#endif*/保存后将qconfig-qpe.h拷贝到global目录。 #cp qtopiacore/qconfig-qpe.h qtopiacore/qt/src/corelib/global/qconfig-qpe.h进入qtopiacore/qt/src/corelib/global目录下修改qfeatures.h文件注释掉如下内容/*#if!defined(QT_NO_QWS_CURSOR)&(defined(QT_NO_CURSOR)#define QT_NO_QWS_CURSOR#endif*/保存退出进入qtopiacore/qt/src/corelib/global目录下修改qglobal.h文件注释掉以下内容/#define QT_NO_QWS_CURSOR进入src/libraries/qtopiabase/目录下修改如下#cp custom-linux-cassiopeia-g+.h custom-linux-arm-g+.h#cp custom-linux-cassiopeia-g+.cpp custom-linux-arm-g+.cpp修改时区问题一种方法是在根文件系统上建立文件夹zoneinfo,把虚拟机目录下/usr/share/zoneinfo中的所有文件拷到刚创建的文件夹中。 #cd qtopia_root#mkdir-p usr/share/zoneinfo#cp/usr/share/zoneinfo/*usr/share/zoneinfo/第二种方法是修改源代码,使它指向自己的文件夹,在src/libraries/qtopia/qtimezone.cpp中,将114行的/usr/share/zoneinfo/改为/usr/local/qtopia/zoneinfo,保存退出。 这时qpe就到自定义的目录下找时区信息了。 3、进入target目录下进行配置,配置代码如下./source/configure-release-image/usr/local/qtopia-prefix/usr/local/qtopia-xplatform linux-arm-g+-arch arm-no-qvfb-displaysize240x320-no-modem-quicklaunch-no-bluetooth-no-drm-no-infrared-extra-qtopiacore-config-little-endian-release-xplatform qws/linux-arm-g+-embedded arm-qconfig qpe-depths8,16,32-qt-sql-sqlite-qt-kbd-usb-no-kbd-tty-no-mouse-linuxtp-qt-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+/arm-angstrom-linux-gnueabi-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+/arm-angstrom-linux-gnueabi使用arm-linux-g3.4.1版本编译器需要先用该编译器编译一下tslib 六、RedHat9的GCC-3.4.1安装 1、解压安装包tarxjvf g-3.4.1.tar.bz 22、新建目录,修改g-3.4.1的目录名,在usr/local目录下新建文件mv g-3.4.1source mkdirtarget mkdirg-3.4. 13、进入target进行配置./source/configure-prefix=/usr/local/g-3.4.1/-enable-threads=posix-disable-checking-enable-long-long-host=i386-redhat-linux-with-system-zlib-enable-languages=c,c+,java-enable-_cxa_atexit 4、编译make 5、安装make install 6、进入/usr/bin目录下将原有的GCC、G+、GCJ移动到一个目录中保存,制作软链接#cd/usr/bin#mv gg+gcj./#lns/usr/local/g-3.4.1/bin/g g#lns/usr/local/g-3.4.1/bin/g+g+#ln gcjs/usr/local/g-3.4.1/bin/gcj gcj 7、修改/etc/profile的环境变量,添加如下的语句set LD_LIBRARY_PATH=/usr/local/g-3.4.1/lib:$LD_LIBRARY_PATH 8、是环境变量有效#source/etc/profile-verbose-release-image/usr/local/qtopiaprefix/usr/local/qtopia-no-pkg-config-no-dbus-xplatform linux-arm-g+-arch arm-displaysizes240x320-build-qt-qtopia-sqlite-v4l2-remove-module modem-remove-module bluetooth-remove-moduledrm-remove-moduleinfrared-extra-qt-embedded-config-xplatform qws/linux-arm-g+-embedded arm-qconfig qpe-shared-little-endian-webkit-qt-kbd-usb-qt-libpng-qt-libjpeg-qt-gif-depths4,8,16,32-qt-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+-I/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c+/arm-angstrom-linux-gnueabi 七、QT拼音输入法(交叉编译器4.1.2)一首先是库libsyszuxpinyin.so的移植1.将SYSZUXpinyin.tar.bz2拷到/tmp/进行解压然后cd SYSZUXpinyin2.修改文件TEMPLATE=lib在.pro中添加RESOURCES+=syszuxpinyin.qrc(可能已经修改完毕)3.qmake4.make注如果在命令行用交叉编译工具编译不成的话(报错说找不到“main”,其实本来就没有main函数的),可以尝试用QT creator编译,在工具配置”Tools“里面”option

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论