1.安装Qt4
在终端输入
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
其中:
qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator
qt4-doc 这个是帮助文档
qt4-qtconfig Qt的配置工具,这个装好默认好
qt4-demos 官方的一些Demo
qt4-designer 可视化窗体设置工具
所安装的工具有些还不知道用处,先安装了在说吧,安装后查看发现Qt Creator并没有被安装上,在ubuntu的软件中心查找这个软件安装,安装后查看Qt Creator是基于QT4.6.2版本的。
2.用Qt Creator创建我的第一个Qt程序hello world
1.打开安装好的Qt Creator软件,选择File-〉New File or Project 打开界面向导,找到Projects选项,选择Empty Qt4 Project,对项目命名,跟着向导做,新建一个空的Qt4项目。
2.右键项目文件夹,点击“添加新文件”,在这里选择C++ ->C++源文件,或者选择 概要->文本文件,只是在下面命名的时候加上后缀.cpp就可以了。文件名不一定要写成main.cpp,任何名字都可以。
3.编辑源代码,点一下左下角的第一个绿色三角形按钮就可以了。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel hello("<h2><i>Hello</i><font color=red> Qt!</font></h2>");
hello.show();
return app.exec();
}
4.程序运行结果如下:
3.安装ARM版QT4.
目前安装好的软件算是PC版的QT4,按照网上查看的PC版,X86版,ARM版下载好响应的QT软件版本,分成三个不用的包,做不同的编译即可。网上某人说的似乎是4.6(不确定)版本后安装不同的版本只需要一个包就可以例如qt-everywhere-opensource-src-4.6.3.tar.gz即可。
在安装的时候按照网上的一种方法,终端命令输入安装的,查看版本是4.6.2的,ARM版的也按照响应的版本吧。(不同的版本移植时应该会有麻烦的)
下载qt-everywhere-opensource-src-4.6.3.tar.gz,解压
在该目录下执行
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.6.2-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/rootfs/opt/tslib/include -L/rootfs/opt/tslib/lib
红色部分是tslib的安装目录。-prefix /usr/local/Trolltech/QtEmbedded-4.6.2-arm是ARM版Qt的安装目录,注意此目录会影响跟文件系统下QT库的存放路径。
执行过程中会有错误提示
qt-everywhere-opensource-src-4.6.2/lib/libQtGui.so: undefined reference to `ts_read_raw'
解决的方法:
修改qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qmake.conf 文件(添加lts参数):
QMAKE_CC = arm-linux-gcc -lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts
然后make
sudo make install
即可
4.配置Qt Creator开发环境
启动Qt-creator。
在Qt-creator菜单栏Tools—〉Options…打开Options窗口。
在Options界面左侧,点击Qt4—〉Qt Versions右侧显示Qt Versions设置界面。
因为我首先使用命令安装的,此界面默认有一个qmake-qt4的命令路径,此路径的PC版的QT4路径。
在Qt Versions界面中点击那个蓝色的大“╋”号图标
在下方Version Name:文本框内输入Qt的版本名,可以随便填,能区分各个版本即可(如pc版取Qt4.6.2-pc、x86版取QtE4.6.2-x86、arm版取QtE4.6.2-arm)。
单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(按照响应的安装路径,例如,pc版路径:/usr/local/Trolltech/Qt-4.6.2/bin/qmake,x86版路径:/usr/local/Trolltech/QtEmbedded-4.6.2/bin/qmake,arm版路径:/usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake),单击打开,回到Qt Versions界面。
默认的PC版的路径名是QT in PATH
arm版我输入的名字是QT-ARM
回到Qt Versions界面,单击Debugging Helper:右侧Rebuild按钮,等待片刻,看到Debugging Helper:后出现一个绿色的“√”即可。
添加完毕,单击OK按钮关闭Options窗口。
5.arm编译并移植
这才是我们的重点,PC版下我们已经体验过一次,现在体验在我们的触摸屏上的显示。
在Qt-creator界面左侧点击Projects图标,打开工程设置界面。
从上往下,
在Edit Project Settings for Project books——〉Build Settings——〉Edit Build Configuration:单击Add,在下拉列表中选择Using Qt Version “QT-ARM”弹出对话框单击Ok按钮,在Edit Build Configuration:下会出现蓝色的Make QT-ARM Release active.字符,
单击激活QT-ARM Release。
在Run Settings——〉Edit run configuration:右侧单击Show Details按钮,在打开的下拉列表中Arguments:文本框中添加参数“-qws”。
设置完毕,点击Edit图标,回到编辑界面。
编译:在Build菜单下,先Clean Project “Hello”,然后Build Project “Hello”。
要想使程序在开发班上运行,需要先把QT的库文件拷贝到开发班跟文件系统下。
将编译好的ARM版下的Hello程序拷贝到开发板,运行提示找不到库文件,根据提示得知,需要将库文件存放在和在PC上一样的路径,既之前设置好的ARM版的安装路径/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib。
在开发板上运行,出现了一样的界面。
[root@MINI2440:/opt/qt]#./Hello -qws
在PC版上编译时需要把编译的qmake命令在设置回来,-qws也需要去掉,当然编译ARM版时也是同样的。
万里长征迈起了第一步。