QT SDK 4.8.4 fedora中安装与编译遇到的小问题与解决,经验分享

本文记录了QT 4.8.4在Linux Fedora 17上的安装过程及遇到的问题解决方法,包括编译环境配置、编译错误排除等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QT SDK 4.8.4下载地址:http://qt-project.org/downloads

        根据需要版本自己选择。

        我选的是:Qt libraries 4.8.4 for Linux/X11 (225 MB)

        下载后的源码包:qt-everywhere-opensource-src-4.8.4.tar.gz

          放到一个指定的目录中。

**************************************************************************

我系统环境:

OS:Fedora 17

内存:1GB

CPU :Core2   1.6G 双核

预安装目录/home/un/app/Qt

        /home/un/app 是一个从/dev/sda ext4格式挂载过来的分区。

************************************************************************

http://qt-project.org/doc/qt-4.8/install-x11.html

(官网安装步骤)

(一)本人安装步骤简介:

我全程用的root 权限

1.包解压,#  tar -xzvf qt-everywhere-opensource-src-4.8.4.tar.gz    /home/un/app/tmp 

    注意,我下面的问题1就是出在解压的目录上。(我第一次把包解到了vfat格式的分区上了)

                 最好解压的目标地址的文件系统格式与安装地址的文件系统格式一致,

                我的是安装地址为:/home/un/app/Qt/,源码包解压目标地址:/home/un/app/tmp,同为ext4格式。

              

2.编译环境与Makefile文件产生,#  ./configure  -prefix  /home/un/app/Qt/

                        -prefix  DIR 选项是预设安装目录,否则,默认会安装在 /usr/local/Trolltech/Qt-4.8.4/

3.编译,# gmake

      这个时间相当长我经历了大概有2~3小时

4.安装,# gmake install

5.设置 环境

  #PATH=/home/un/app/Qt/bin:$PATH
  #export PATH
    或者 

     修改家目录下的~/.bash_profile 文件,来设置PATH使开机有效

     # vi  ~/.bash_profile

     修改为

       PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/app/Qt/bin

******************************************************************************

(二)下面说说我出现的问题与解决:

问题1.

     #  ./configure  -prefix  /home/un/app/Qt/

     提示创建文件链接类错误,****没有权限的信息。类似如下:

chmod: /mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/src/corelib/global/qconfig.cpp:新的权限为r-xrwxrwx,而非r-xr-xr-x
Creating qmake. Please wait...
ln: 无法创建符号链接"mkspecs/default": 不允许的操作
g++ -c -o project.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/include -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/include/QtCore -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/src/corelib/global -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/src/corelib/xml -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED  project.cpp
g++ -c -o property.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/include -I/mnt/winf/software_linux/QT/qt-everywhere-opensource-src-4.8.4/include/QtCore -I/mnt/


    当时没有留意,就继续gmake,编译了。

     结果,提示:

        .............................

      [../../lib/libQtGui.so.4.8.4] 错误 1

原因:我上网花了有一天时间找原因搜了很多相关资料没有我的相关错误。

           后来我想是不是文件系统的原因呢。

           我把包,解压到了 vfat格式的分区上了,然后从这个分区上做的编译与安装,造成Linux文件权限的问题呢。

           虽然我的vfat 格式分区(windows XP 系统的 F盘,fat32格式,我通过fstab文件设置开机挂载),我给了足够的权限umask=000,读写执行都没问题,但还是不行。

解决:

          我把包解压到了ext4分区,

          #  tar -xzvf qt-everywhere-opensource-src-4.8.4.tar.gz    /home/un/app/tmp 

          结果这个编译错误过了。

          这次gmake 花了很长的时间编译。

问题2:

       经过漫长的编译过后,(编译时我去睡了,没管它早上醒来后)发现如下错误:

g++: 错误:unrecognized command line option ‘-fuse-ld=gold’
g++: 错误:unrecognized command line option ‘-fuse-ld=gold’
g++: 错误:unrecognized command line option ‘-fuse-ld=gold’
gmake[2]: *** [../../../../../../lib/libQtWebKit.so.4.9.3] 错误 1
gmake[2]: 离开目录“/home/un/app/tmp/qto484/src/3rdparty/webkit/Source/WebKit/qt”
gmake[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] 错误 2
gmake[1]: 离开目录“/home/un/app/tmp/qto484/src/3rdparty/webkit/Source”
gmake: *** [sub-webkit-make_default-ordered] 错误 2


原因:

          这个问题我是在网上找的原因与解决方法

          原地址如下:.(Qt4.8.3移植总结 ---Wuyuan's Blog)

           http://wuyuans.com/2012/11/qt4-8-3-transplant/

           这是Qt的一个bug:https://bugs.webkit.org/show_bug.cgi?id=89312
           在装有gold linker的系统里,编译脚本会加入-fuse-ld=gold选项,但这个选项gcc是不支持的。

解决:

         打开

           .../src/3rdparty/webkit/Source/common.pri 文件,

          找到:QMAKE_LFLAGS+=-fuse-ld=gold   这行。将前面加个#注释掉

            #   QMAKE_LFLAGS+=-fuse-ld=gold,保存。

          重新编译


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值