qt安装1Word文档下载推荐.docx
《qt安装1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《qt安装1Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。
![qt安装1Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/a9f5ce00-cb81-4949-b559-3533fdaa5c87/a9f5ce00-cb81-4949-b559-3533fdaa5c871.gif)
---------->
makeinstall(很多网上的帖子都没这一步,如上面所说,这一步就是将编译后的各种工具、库等安装到你先前指定的目录)
设定环境变量(这是新手很头疼的问题,其实弄清楚后也挺简单的,就是给你的指令指定一个可执行的路径,具体实现为:
在你的用户目录下【若为管理员账户,则为/root,若为普通用户,则在/home/你的用户名】,修改.bashrc文件。
打开.bashrc文件,在文件末尾添加这么几行
exportQTDIR=/opt/qpe
exportQTEDIR=$QTDIR
exportPATH=/opt/qte/bin:
$PATH
exportLD_LIBRARY_PATH=opt/qte/lib:
$LD_LIBRARY_PATH
保存,搞定。
这样,以后你只要在终端输入qmake或make或designer等指令就可以直接使用qmake等工具了,而不再需要进入到/opt/qte/bin里面来执行./qmake了,这就是环境变量的作用。
)
Qt/Embedded的安装到此告一段落,接着轮到Qt/X11,这个就简单多了,因为它在./configure时没什么要求。
----------->
解压缩,tarzxvf.....
更改解压缩后的文件名为qt(仅仅是为了个人方便):
mv....qt
------------>
进入qt文件夹,执行./configure-prefix/opt/qt-qvfb
------------->
make(更加漫长的过程)
-----------makeinstall
进入到解压缩文件夹qt里的tool/qvfb目录,输入make
将qt文件夹里的bin/qvfb复制到/opt/qte/bin目录下
最后两个步骤是为了生成qvfb。
用于调试程序,可进入到qte/demos/chip下,调试一个例程看看qvfb是否已经安装成功。
#qvfb&
#./chip-qws
便会看到qvfb上显示有相关例程的图像了。
到此,安装过程全部结束
如果在.配置指令/configure……执行后,发生错误,可以进入到解压缩文件目录(如qt/,qte/),执行makeclean便可将前面所有的配置都清除掉。
在qt和qtemakeinstall完后,可执行makeclean将中间生成的许多.o文件清楚,这些临时文件要占很大一部分空间。
--------------------------------------------------------------------------------------------------------------------------------------------
2.方法二:
由于qt4.4.3分为Qt/Embedded和Qt/X11两部分,本方法中Qt/X11的安装编译方法与方法一中一致,读者可自行参考方法一。
下面重点介绍Qt/Embedded的安装,为了以后便于向开发板移植,我们在编译Qt/Embedded前编译安装触摸屏的库文件tslib-1.4
(1)安装tslib-1.4
这是个触摸屏的库文件,据网上说qt4只支持tslib-1.4。
我没有实验别的,就用了这个,可以成功。
把tslib-1.4.tar.gz放到/home目录下
#tarxvzftslib-1.4.tar.gz
#cdtslib
#./autogen.sh
#./configure--prefix=/home/mytslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes
#make
#makeinstall
这样以后可以看到/home/mytslib/下有了库文件,移植时会用到!
先不详细说明。
(2)安装qt-x11-linux-opensource-src-4.4.3.tar.gz
把qt-embedded-linux-opensource-src-4.4.3.tar.gz放到/tmp目录下
在安装qt-embedded-linux-opensource-src-4.4.3.tar.gz之前先在根目录下建立两个目录(即文件夹)如下步骤:
#cd/进入根目录
#mkdirmini2440这里准备存放qt-embedded-linux-opensource-src-4.4.3的库文件
最后要移植到开发板的。
#mkdirtslib这里准备放触屏的库文件,最后也会移植到开发板。
好了,现在安装qt-embedded-linux-opensource-src-4.4.3.tar.gz
#cd/tmp确定qt-embedded-linux-opensource-src-4.4.3.tar.gz放到/tmp目录下了才行
#tarxvzfqt-embedded-linux-opensource-src-4.4.3.tar.gz
#cdqt-embedded-linux-opensource-src-4.4.3.
#./configure-prefix/mini2440-release-shared-fast-pch-no-qt3support-qt-sql-sqlite-no-libtiff-no-libmng-qt-libjpeg-qt-zlib-qt-libpng-qt-freetype-no-openssl-nomakeexamples-nomakedemos-nomaketools-optimized-qmake-no-phonon-no-nis-no-opengl-no-cups-no-xcursor-no-xfixes-no-xrandr-no-xrender-no-xkb-no-sm-no-xinerama-no-xshape-no-separate-debug-info-xplatformqws/linux-arm-g++-embeddedarm-depths16-no-qvfb-qt-gfx-linuxfb-no-gfx-qvfb-no-kbd-qvfb-no-mouse-qvfb-qt-kbd-usb-confirm-license-qt-mouse-linuxtp-qvfb-I/home/duancp/mytslib/include-L/home/duancp/mytslib/lib
mini2440内的空间有限,所以剪裁很多,注意最后的红色部分是为了找到触屏的库文件,然后
#gmake
#gmakeinstall
这样,嵌入式版本的qt4也装成功了,若想进行交叉编译,首先也得改变环境变量,所以也可以在当前目录下建一个环境变量的文件setenv-embedded.sh如下:
#geditsetenv-embedded.sh
这时跳出一个编辑文本输入:
PATH=/mini2440/bin:
QTDIR=/mini2440
MAINPATH=$QTDIR/man:
$MAINPATH
LD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
exportPATHQTDIRMAINPATHLD_LIBRARY_PATH
保存退出。
每次进行qt4-embedded的交叉编译前先#sourcesetenv-embedded.sh
到目前为止,两个版本的qt4在PC机上的安装算是结束了,下一步要移植嵌入式的qt4库文件到开发板。
二.Qt4.4.3移植方法:
前面介绍了在根文件系统下建立两个目录mini2440和tslib1.4.经过第5步后,mini2440内已经有了库文件,现在把触屏的库文件移植到tslib目录。
#cd/home/mytslib进入触屏库文件所在地
#cp-frlib/tslib把lib目录放到根目录的tslib目录下
在根文件的mini2440文件中除了有lib目录,还有bin,examples等目录,但是移植到开发板的文件只需要mini2440下的lib目录。
Lib目录有30多兆,若太大,可以删除/lib/fonts中的一些字体!
首先,在超级终端下操作开发板,在开发板的根目录下建立两个目录mini2440和tslib,一样的方法:
#mkdirmini2440注意这是对开发板的操作,不再是PC机了!
#mkdirtslib
然后,不你是用什么方法,要把PC机根目录下/mini2440里的lib目录(整个文件件)(其他的如bin等都不用)全部拷到开发板根目下的/mini2440中,同理把要把PC机根目录下/tslib里的lib目录(整个文件件)全部拷到开发板根目下的/tslib中.
你可以用串口传输,或者优盘传输,或者nfs等,最终的效果是开发板根目录下的/mini2440中有QT4的lib,/tslib有触屏的lib.
最后,就是设置开发板的环境变量了:
在超级终端里的命令行下输入:
#exportQTDIR=/mini2440
#exportT_ROOT=/tslib
#exportPATH=$QTDIR/bin:
#exportTSLIB_CONSOLEDEVICE=none
#exportTSLIB_FBDEVICE=/dev/fb0
#exportTSLIB_TSDEVICE=/dev/input/event0
#exportTSLIB_PLUGINDIR=$T_ROOT/lib/ts
#exportTSLIB_CONFFILE=$T_ROOT/etc/ts.conf
#exportTSLIB_CALIBFILE=/etc/pointercal
#exportQWS_MOUSE_PROTO=tslib:
/dev/input/event0
#exportLD_LIBRARY_PATH=$T_ROOT/lib:
$QTDIR/lib
到目前位置,这个移植过程算是结束了,这样就可以成功了!
三.利用Qt4.4.3编写程序及编译的方法:
虽然qt4没有成功移植到mini2440开发板上,但是以下关于qt4.4.3的编译方法是正确的,可以用qvfb仿真。
在这里针对之前Qt/Embedded的两种安装方法,这里也有两种编译方法,分别和之前两种方法对应。
个人推荐第二种方法。
方法一:
1.利用./designer设计一个ui界面,保存到/root目录,命名为hu.ui
2.设置qmake环境
exportQTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
exportPATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/bin/:
exportLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/lib/:
3.将hu.ui导出头文件,uichu.ui-ohu.h
4.添加main.cpp文件如下
#include<
qapplication.h>
qpushbutton.h>
QWidget>
#include"
hu.h"
//只需要改这句,改为你所编写的程序的名称xx.h
classWin:
publicQMainWindow,publicUi:
:
MainWindow
{
public:
Win(QMainWindow*parent=0):
QMainWindow(parent)
{setupUi(this);
}
};
intmain(intargc,char*argv[])
QApplicationa(argc,argv);
Winw;
w.show();
returna.exec();
5.然后生成.pro工程文件和Makefile文件
qmake–project//千万看清这里有个空格
qmakehu.pro
6.最后make
将生成的执行文件通过QVFB测试
方法二
例子helloworld!
A,PC机下编译:
进入PC机中/opt/qt-x11-linux-opensource-src-4.4.3
#cd/opt/qt-x11-linux-opensource-src-4.4.3
#sourcesetenv-x11.sh改变环境变量,设置为适合pc机的开发环境
#mkdirhello
#cdhello进入hello目录
#vihello.cpp编写helloworld程序,在hello.cpp中输入以下代码:
#include<
QApplication>
QPushButton>
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QPushButtonb("
HelloWorld!
"
);
b.show();
QObject:
connect(&
b,SIGNAL(clicked()),&
app,SLOT(quit()));
returnapp.exec();
}
然后在当前目录下继续执行以下命令:
#qmake-project
#qmake
#ls
这时在这个目录下可以看到生成了可执行文件hello,然后
#./hello
你会发现,跳出了一个helloworld的对话框,这样一个简单的界面就成功了
B,交叉编译
首先把/opt/qt-x11-linux-opensource-src-4.4.3下的hello目录拷到/tmp/qt-embedded-linux-opensource-src-4.4.3目录下
#cp-fr/opt/qt-x11-linux-opensource-src-4.4.3/hello/tmp/qt-embedded-linux-opensource-src-4.4.3
#cd/tmp/qt-embedded-linux-opensource-src-4.4.3
#sourcesetenv-embedded.sh这一步很关键,否则你交叉编译不了,改变的环境变量
#cdhello
#makeclean
#qmake-project重新生成.pro
#qmake重新生成适合交叉编译的Makefile
#make
#ls
这时候,你发现有hello的可执行文件,原来的hello已经被替换掉了,现在这个hello文件是适合开发板运行的!
这时候你如果执行./hello是不会有界面的,把它放到开发板的文件系统下才会有界面(前提是设置好了开发板的环境变量)
四.Qt2编译全流程:
1.用designer编写ui文件
2.Source/opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv
#这里要注意qt的安装路径
3.uicxxx.ui-oxxx.h
uicxxx.ui-ixxx.h-oxxx.cpp
4.可以gedit生成main.cpp,内容可以参考hello里的main.cpp
main.cpp应包括如下内容:
hello.h"
qtopia/qpeapplication.h>
QTOPIA_ADD_APPLICATION("
hello"
Form1)
QTOPIA_MAIN
5.Qmake–project(这里有个空格,勿忘)
6.修改.pro文件,在input前加入
CONFIG+=qtopiaapp
CONFIG-=buildQuicklaunch
DESTDIR=$(QPEDIR)/bin
Input后加入
TARGET=.pro名称
(详见hello例子的.pro文件写法,这里的.pro写法是我试出来的,仅是个人想法)
7.qmake-spec/opt/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-arm-g++-oMakefile*.pro#这里要注意qt的安装路径
8.Make
9.编写.desktop文件,详见mini2440例子
.desktop写法
[DesktopEntry]
Comment=AnExampleProgram
Exec=hello
Icon=Hello#这里要写自己的程序名称
Type=Application
Name=Hello2440
10.拷到开发板,rz指令,详见mini2440pdf
其中qt2的安装编译可以参考mini2440的pdf,由于mini2440开发板上本身自带qt2,所以不必移植。