最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发。考虑到程序的跨平台可移植性,最终选择使用 Qt 开发。相对来说,国内关于 Qt 相关文档并不算很多。作者将 Linux 下编译并安装配置 Qt 全过程总结了一下,只希望可以方便更多的朋友!
1、获得源代码
src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/
2、解压缩
tar xvfz qt-x11-opensource-src-4.7.4.tar.gz
建议解压到/use/local目录,并重命名为Qt-4.7.4
3、生成 makefile 文件
./configure
这个时候他会问你:“Which edition of Qt do you want to use?”
然后给你两个类型供选择:
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
第一个是商业版,第二个是自由版。
选择 'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
这时候,出现许可界面。
选择 'yes' 接受许可协议。
开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。
编译时可能出现"Basic XLib functionality test failed!"的错误,根据以往的经验,在./configure前主动装好下面3个包,基本上就万事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
4、Qt 编译
make
这个过程时间比较长,需要两个小时左右。
此时若出现/usr/bin/ld: cannot find -lxxx 问题,其中xxx即表示函式库文件名称
一般出现这种错误有以下几种原因:
1.系统缺乏对应的库文件;
2.版本不对应;
3.库文件的链接错误;
4.库文件路径设置问题。
对应第一第二种情况,可以通过下载安装lib来解决,ubuntu大多数可以直接通过apt-get来安装:
apt-get install libxxx-dev
1.如果在./configure阶段,出现了以下错误
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11
那是因为没装有libxtst-dev,使用命令apt-get install libxtst-dev安装
2.如果在make阶段,出现一下错误
/usr/bin/ld: cannot find -lXrender
collect2: ld returned 1 exit status
make[1]: *** [../../../../lib/libQtWebKit.so.4.7.3] 错误 1
make[1]: Leaving directory `/home/debian/桌面/qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] 错误 2
那是因为没有装libxrender-dev
3.在qt create中,尝试编译测试,如果找不到qmake,则在工具-选项-QT4中手动设置qmake的位置。qmake的位置默认在/usr/local/Trolltech/Qt-4.7.3/bin/qmake。
5、Qt 安装 运行 make install 默认安装至 /usr/local/Trolltech/Qt-4.7.4 大约 5 - 10 分钟。正常结束,安装完毕。 运行 /usr/local/Trolltech/Qt-4.7.4/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。此时中文系统的菜单栏可能不显示,需要运行/usr/local/Trolltech/Qt-4.7.4/bin/qtconfig配置一下字体 6、设置环境变量
一。先修改用户环境变量
vi /home/defonds/.bashrc
在其最后添加以下信息
export QTDIR=/usr/local/Trolltech/Qt-4.7.4
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
二。再修改所有用户环境变量
vi /etc/profile
在其最后添加以下信息
export QTDIR=/usr/local/Trolltech/Qt-4.7.4
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
三。测试一下
重新开一个终端,输入命令:
qmake -v
输出结果:
QMake version 2.01a
Using Qt version 4.7.4 in /usr/local/Trolltech/Qt-4.7.4/lib
输入命令:
which qmake
输出结果:
/usr/local/Trolltech/Qt-4.7.4/bin/qmake
证明 Qt 环境变量已经被配置成功。
编者按 :
Linux 启动时,先读取用户环境变量,即 /home/defonds/.bashrc 的设置。次读取所有用户环境变量,即 /etc/profile 中的配置。
开始 Qt
写个简单的 Qt 程序使用安装的 Qt 编译来测试一下它的工作效果
新建一个文件名为 hello.cpp,其内容如下:
#include <QApplication>
#include <QLabel>
int main( int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel( "Hello Qt!" );
label->show();
return app.exec();
}
|
保存 hello.cpp,编译过程如下: 在 hello.cpp 所在目录下,运行命令 qmake -project hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。 在 hello.cpp 所在目录下,运行命令 qmake hello.pro 同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。 在 hello.cpp 所在目录下,运行命令 make 同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt 编译生成的可执行文件了。双击运行 hello,“Hello Qt!“ 文本框弹出,OK!做到这一步,证明 Qt 已经完全可以在你的电脑上运作了。还等什么呢,开始你精彩而又愉快的 Qt 开发之旅吧!
本文转自:http://www.cnblogs.com/libao/archive/2013/03/05/2944934.html
posted on 2013-04-08 17:07
王海光 阅读(8500)
评论(0) 编辑 收藏 引用 所属分类:
Linux