红联Linux门户
Linux帮助

编译及安装最新的qt/x11 4.3.4,qtopia 4.3.1以及使用方法

发布时间:2008-09-06 11:05:15来源:红联作者:wofjscs
首先去官方网站下载最新的这俩东西的源代码包:
http://trolltech.com/downloads/opensource
qt-x11-opensource-src-4.3.4.tar.gz
qtopia-opensource-src-4.3.1.tar.gz
在/也就是根目录下,建立一个文件下,我的叫/azuo
把下载的包放在里面并解压,更改名字叫qt-x11和qtopia
然后就是编译和安装了,现编译和安装前面的x11,然后编译和安装后面的qtopia
直接写一个shell文件:
vim a写入如下:
! /sh
cd /azuo/qt-x11
echo "yes" | ./configure
make
make install

运行shell文件,就可以了
再开一个终端,写另一个shell文件,编译qtopia,这个编译就有点学问了,他要求build目录不是源代码的目录,因此我们要另外创建一个目录,我的叫myqtopia,一切ok。如下:
vim b:
mkdir /azuo/myqtopia
cd /azuo/myqtopia

echo "yes"|../qtopia/configure
make
make install
运行,过程很长,我们等结果就是了哈哈
good luck!

在这一切都ok以后,就是让系统使用我的最新的qt4而不是以前存在的qt3
我们到/usr/lib目录下,把qt-3.3这个目录移走到自己的别的目录下,不要弄丢了,以后如果自己的qt4不能用再还原就是了
然后到安装好了的qt4的系统目录下去,makeinstall 会把要用的东西放到usr目录下的,我的电脑上的的目录是:
/usr/local/Trolltech/Qt-4.3.4/bin
加入/etc/profile文件。
重启
然后再尝试一下在终端下输入:
which designer,assistant,qmake就可以看到这些现在都指向最新的qt4了
qtopia我就是安装了一下,使用起来差不多的

在研究了qtopia以后,附上qtopia-core的安装方法:
1.在官方网站上下载qtopia-core-opensource-src-4.3.3.tar.gz
2 解压,得到一个文件夹,叫qtopia-core-opensource-src-4.3.3
3 cd qtopia-core-opensource-src-4.3.3
4 一般的使用qtopia-core就是为了使用他来编译可以在arm上运行的程序,我们如下编译:
./configure -embedded arm --prefix=/usr/qtopia
这里有一点要注意,要先让系统里面有larm-linux-gcc/g++,而且是可以执行的,因为指定了安装的arm结构。
这里就多说一句,这个arm-linux-gcc其实很简单,就是下载linux-arm-gcc包,然后解压,g++是这个包里面已经自带的了,要么把arm-linux-gcc加入系统路径,要么做一个到/usr/bin下的链接:
ln -s [dir]/linux-arm-gcc /usr/bin/arm-linux-gcc
ln -s [dir]/linux-arm-g++ /usr/bin/arm-linux-g++
5 make
6 make install
7 安装好了以后,把qtopia-core自带的qmake也放到系统路径下去,但是我的系统里面已经存在了两个qmake,那么这个qmake我们改一个名字:
ln -s /usr/qtopia/bin/qmake /usr/bin/qt-qmake

检查qmake的存在:
[root@BTazuo ztzfile]# cd /usr/bin
[root@BTazuo bin]# ls -l | grep qmake
lrwxrwxrwx 1 root root 40 03-12 04:16 qtopia-qmake -> /azuo/myqtopia/qtopiacore/host/bin/qmake
lrwxrwxrwx 1 root root 26 03-12 17:11 qt-qmake -> /usr/qtopia-core/bin/qmake
可以看到qt-qmake就是qtopia-core的qmake

再看看使用方法:
先写一个qt超级简单的程序:
hello.cpp:


#include
#include


int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();

return app.exec();
}

在文件存在的路径下:
qmake -project
qmake
make
产生一个可以执行的文件,我们执行就可以看到一个图形,因为我们用的是qmake就是x11的qmake。
下面我们用一个shell程序写一个arm结构的程序:
# !/sh
mkdir /azuo/qhello
cd /azuo/qhello
cp ~/hello.cpp ./
qt-qmake -project #使用的是qt-qmake
qt-qmake
make
如果顺利的话,就可以得到一个叫qhello的东西,他是arm上运行的可执行文件,无法在自己的计算机上运行的。
这样:
[root@BTazuo qt_pro]# file qhello
就可以查看到文件格式,arm的哦。
qhello: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped

ok,到此为止!
文章评论

共有 0 条评论