Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )
yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel

#yum install gcc-c++ //安装g++编译器,否则./configure会报错,见本页《问题1》
#yum install libXtst-devel //安装Lib库的开发包,否则./configure还会出错,见本页《问题3》
#cd qt-everywhere-opensource-src-4.7.4 //进入当前目录
#./configure // ./configure --prefix /usr/local/qt-4.7.4 我加了prefix参数,指定安装路径。在后期运行qtcreator编译的时候出现一个版本冲突的错误。
直接跳转到这一步:安装如下包,否则configure +字体库会出错。
#yum install freetype
#yum install freetype-devel
#yum install fontconfig-devel
#./configure -fontconfig //加了这个参数,qt在fedora中才会安装中文字库,否则后面qt无法中文显示。经过很久才摸索出来的。



#gmake //漫长的编译,大概3-4个小时
#gmake install //大概几分钟
小测试一下,运行 /usr/local/Trolltech/Qt-4.8.4/bin/designer ,看见 qt 启动,如下图所示,就说明QT已经安装成功。
四、其他配置
1、直接更改环境变量,我就是通过这个方法实现的,亲测成功。
1)、#vi /etc/profile 修改所有用户环境变量 ,在文件后添加如下变量内容,
QTDIR=/usr/local/Trolltech/Qt-4.7.4

export QTDIR=/usr/local/Trolltech/Qt-4.7.4
export $QTDIR/bin:$PATH
export $QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
b、等号之间不要留空格,否则会出现异常提示:
-bash: export : =:not a valid identifier。
c、出了在系统全局文件里修改环境变量,当然也可以去当前用户下 修改环境变量,
#vi /home/admin/.bash_profile
#source ~/.bash_profile
可以参考这篇文章《Sheell配置文件 环境变量设置》
#chmod u+x qt-creator-linux-x86-opensource-2.5.2.bin
#./qt-creator-linux-x86-opensource-2.5.2.bin
export PATH="/home/admin/programs/qtcreator-2.5.2/bin:$PATH"
保存后,重启系统。
运行qtcreator:
以管理员身份运行qtcreator
#su - root
#qtcreator
也可以直接将/home/admin/programs/qtcreator-2.5.2/bin目录下的Nokia-QtCreator.desktop 拷贝到fedora桌面文件夹。直接双击就可以启动Qtcreator
vi /usr/share/applications/qtcreator.desktop
- #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.pro:
qmake -project
qmake hello.pro
- make
./hello
问题1. 一个关于在Linux下安装QT的问题,运行./configure总是报错
运行./configure就报错了,错误如下:
g++ -c -o project.o -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -I/usr/local/qt/include/qmake -I/usr/local/qt/include -I/usr/local/qt/include -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/usr/local/qt/mkspecs/linux-g++ -DHAVE_QCONFIG_CPP project.cppgmake: g++: Command not found
gmake: *** [project.o] Error 127
qmake failed to build. Aborting.
解决方法:安装g++(gcc主要是为了编译c语言,g++是为了编译C++。fedora中g++叫:gcc-c++,直接yum搜索g++无法搜到)
#yum list gcc-c++
#yum install gcc-c++
安装g++编译包,参考这篇《yum安装g++》
问题2:安装完gcc-c++,运行./configure还是出错如下:
ln: failed to create symbolic link `mkspecs/default': Read-only file system
解决方法:因为我的qt安装包就是win7上共享文件夹过来的,但是在virturalBox共享文件里,是无法创建连接的。所以只需要将该安装包拷贝到linux其他文件目录下就不会遇到该错误了。参考《Read-only file system. What's wrong?》
The VirtualBox shared folder filesystem doesn't allow symlinks, unfortunately. Your only option is to deploy outside of the shared folders.
问题3:Basic Xlib functionality test failed!

这个错误主要是因为,XLib库没有安装,所以在编译X11平台时,应该保证,即那是因为没装有libxtst-dev,使用命令apt-get install libxtst-dev安装(若是有radhat系统安装包,可以在该包里面找到,然后用rpm命令安装。Libxtst-dev就是libXtst-devel-1.0.1-3.1.i386.rpm,有可能还需要安装libX11-dev,libXext-dev)
先查询一下 libxtst-dev的安装情况:
#yum list libxtst*
发现fedora15已经安装libXtst.i686,但是没安装libXtst-devel.i686

所以请安装libXtst-devel
#yum install libXtst-devel
安装成功:

问题4.安装qt后,执行qmake -v命令,测试qt是否安装成功。但若是没有检测出正确结果,应该在/etc/profile文件中进行PATH环境变量的设置。设置方法如下:
设置方法1:
在/etc/profile文件中末尾添加如下代码:
export PATH=/qtdirector/bin:$PATH
例如:export PATH=/usr/local/Trolltech/Qt-4.5.2/bin:$PATH,qtdirector/bin为qmake的路径。也可以将该行代码写为两行即:
PATH=/usr/local/Trolltech/Qt-4.5.2/bin:$PATH
export PATH
设置方法2:
export QTDIR=/qtdirector/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export PATH=$PATH:$QTDIR/bin
其中/qtdirector/为qt库和qmake所在的共同路径,$QTDIR/lib即/qtdirector/lib为qt库所在的路径,$QTDIR/bin即/qtdirector/bin为qmake所在的路径。
问题5. 当编译过程中出现该类似的错误:/opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so:-1: 错误:undefined reference to `FT_Library_SetLcdFilter'
安装freetype-2.4.6.tar.bz2软件包,可以解决这个问题。
问题6.执行gmake的时候,出错:
/usr/bin/ld: cannot find -lXrender
collect2: ld returned 1 exit status
gmake[1]: *** [../../../../lib/libQtWebKit.so.4.7.4] Error 1
gmake[1]: Leaving directory `/home/admin/programs/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit/WebCore'
gmake: *** [sub-webkit-make_default-ordered] Error 2

解决方法:
gmake之前需要安装几个开发包:
问题7:新建一个qt程序测试一下,编译的过程中,出现如下错误:
Cannot mix incompatible Qt library (version 0x40702) wiht this library (version0x40704)

解决方法:系统KDE自动调用自带的qt4.7.2,我新安装的是qt4.7.4.所以发生了版本冲突。
最终测试出来,是因为我在前面./configure的时候,指定了qt的安装路径 -profixe。新版本qt没有完全覆盖旧的配置。直接重新configure,不在指定目录,选择fedora默认路径。后面就不会出现该问题了。废了我好大的劲啊。。。。。。我弥陀佛
经过测试,只有在root用户下启动Qt,且运行该用户下运行工程才不会出现上述错误。
参考文章:
5、《/usr/bin/ld: cannot find -lXrender》
http://blog.163.com/qimo601@126/blog/static/158220932013719115423596/
Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )的更多相关文章
- windows环境下搭建Java开发环境(一):jdk安装和配置
一.资源下载 官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html 本人安装的是jdk1.8,百度云资源:链接:h ...
- windows环境下搭建Java开发环境(二):Tomcat安装和配置
一.资源下载 官网:http://tomcat.apache.org/ 本人安装的是Tomcat8.5,安装包百度云资源:链接:https://pan.baidu.com/s/17SDFsoS0yAP ...
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
- [转载]在Windows下搭建Android开发环境
http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 在Windows下搭建Android开发环境 | 浏览:30780 | 更 ...
- Windows下搭建PHP开发环境
PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- Mac下搭建php开发环境教程
方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...
- 【原创】windows下搭建vue开发环境+IIS部署
[原创]win10下搭建vue开发环境 如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图: 详细的安 ...
- Windows下搭建Git开发环境
Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...
随机推荐
- 如何在 BitNami 中创建多个 WEB 应用?(转)
本文最后更新于2015年7月14日,已超过半年没有更新,如果内容失效,请反馈,谢谢! 如您所知,BitNami 为诸多开源 WEB 应用提供集成环境的一键安装解决方案,像著名的开源 WEB 程序 Wo ...
- ios开发网络学习十二:NSURLSession实现文件上传
#import "ViewController.h" // ----WebKitFormBoundaryvMI3CAV0sGUtL8tr #define Kboundary @&q ...
- 【搜索引擎Jediael开发笔记】v0.1完整代码 2014-05-26 15:17 463人阅读 评论(0) 收藏
详细代码请见 E:\Project\[重要]归档代码\SearchEngine归档代码 或 https://code.csdn.net/jediael_lu/jediael/tree/10991c83 ...
- Redis主从高可用缓存
nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存 一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集 ...
- php thinkphp uploadify
模板文件: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...
- 【42.07%】【codeforces 558A】Lala Land and Apple Trees
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 20+ 个很有用的 jQuery 的 Google 地图插件 (英语)
20+ 个很有用的 jQuery 的 Google 地图插件 (英语) 一.总结 一句话总结:英语提上来我才能快速去google上面找资源啊.google上面的资源要比百度丰富很多,然后有了英语就可以 ...
- 前端切图:手机端自适应布局demo
手机端自适应布局demo原型如下: 图片发自简书App 要求如下:适应各种机型源码如下: <!DOCTYPE html > <html> <head> <me ...
- Android中再按一次退出实现
很多应用中都有一个在用户后退的时候显示"再按一次退出"的提醒,这个怎么实现呢?有两种方式 第一种方式(最常用) long waitTime = 2000; long touchTi ...
- BZOJ 2330 - 差分约束系统
传送门 题目分析 差分约束 这里做个简单介绍:形如\(x_i - x_j >= d\)的不等式,可以联想到我们求最短路时\(d_v <= d_u + len\),则上式可以变形为\(x_i ...