zoukankan      html  css  js  c++  java
  • Qt5.3.2_CentOS6.4_基本编程环境__20160306【勿删,繁琐】

    20160306 全程没有f/q

    ZC:使用的虚拟机环境是:博客园VMwareSkill 的 “CentOS6.4_x86_120g__20160306.rar

    1、

    执行命令“gcc -v”,显示:

    [root@centos ~]# gcc -v
    bash: gcc: command not found
    [root@centos ~]#

    说明没有 c/c++编程环境

    2、

    安装 Qt5.3.2(qt-opensource-linux-x86-5.3.2.run),安装在默认位置“/opt/Qt5.3.2”,完全安装(源码也装了)。

    PS:装好Qt5.3.2后,发现还是没有 gcc ...

    3、

    安装 C/C++,命令:

    yum install gcc-c++

    安装完毕后,执行“gcc -v”和“g++ -v”,显示如下信息:

    [root@centos ~]# gcc -v
    使用内建 specs。
    目标:i686-redhat-linux
    配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
    线程模型:posix
    gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
    [root@centos ~]# g++ -v
    使用内建 specs。
    目标:i686-redhat-linux
    配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
    线程模型:posix
    gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
    [root@centos ~]#

    4、

    4.1、

    此时,运行 qtcreator,有如下错误信息:

    [root@centos bin]# pwd
    /opt/Qt5.3.2/Tools/QtCreator/bin
    [root@centos bin]# ./qtcreator

    (<unknown>:3324): Gtk-WARNING **: Attempt to load unknown IM context type 'gtk-im-context-none'
    核心载入失败: /opt/Qt5.3.2/Tools/QtCreator/lib/qtcreator/plugins/libCore.so: 无法加载库/opt/Qt5.3.2/Tools/QtCreator/lib/qtcreator/plugins/libCore.so:(/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /opt/Qt5.3.2/Tools/QtCreator/lib/qtcreator/plugins/libCore.so))
    [root@centos bin]#

    也就是说,需要 版本为GLIBCXX_3.4.14 的 libstdc++.so.6 。

    4.2、

    执行命令“strings /usr/lib/libstdc++.so.6 | grep GLIBCXX”,显示如下信息:

    [root@centos ~]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    [root@centos ~]#

    可见,本机只有 版本为GLIBCXX_3.4.13 的 libstdc++.so.6 。

    4.3、

    下载“libstdc++6_4.7.2-5_i386.deb”
    解压“libstdc++6_4.7.2-5_i386.deb”,得到 文件夹"libstdc++6_4.7.2-5_i386"(里面的文件为:control.tar.gz、data.tar.gz 和 debian-binary),解压 文件"data.tar.gz" 得到 文件夹"usr",将 这里的"usr/lib/i386-linux-gnu"里面的“libstdc++.so.6”和“libstdc++.so.6.0.17” copy到“/usr/lib/”目录下。提示 需要覆盖文件"libstdc++.so.6",确认覆盖。(这样直接覆盖"libstdc++.so.6"的话,就不需要做网页里面的 软连接的断开和重建 工作了)(或者将原来的文件 改名 或者 剪切到别的地方)

    4.4、

    此时,已经有 版本为GLIBCXX_3.4.17 的 libstdc++.so.6 。

    [root@centos ~]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    [root@centos ~]#

    5、

    编译 程序还需要 libGL:
    yum install libGL-devel

    6、

    此时,再次运行 qtcreator,虽然能够打开qt,但是会有报错:

    [root@centos bin]# pwd
    /opt/Qt5.3.2/Tools/QtCreator/bin
    [root@centos bin]# ./qtcreator

    (<unknown>:3566): Gtk-WARNING **: Attempt to load unknown IM context type 'gtk-im-context-none'
    QString::arg: Argument missing: 无法解析gtk_widget_send_focus_change中的符号“gtk_widget_send_focus_change”:gtk-x11-2.0, (/usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gtk_widget_send_focus_change)
    QString::arg: Argument missing: 无法解析gtk_widget_send_focus_change中的符号“gtk_widget_send_focus_change”:gtk-x11-2.0, (/usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gtk_widget_send_focus_change)
    QString::arg: Argument missing: 无法解析dbus_connection_can_send_type中的符号“dbus_connection_can_send_type”:dbus-1, (/lib/libdbus-1.so.3: undefined symbol: dbus_connection_can_send_type)
    QString::arg: Argument missing: 无法解析gtk_widget_send_focus_change中的符号“gtk_widget_send_focus_change”:gtk-x11-2.0, (/usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gtk_widget_send_focus_change)
    QString::arg: Argument missing: 无法解析gtk_widget_send_focus_change中的符号“gtk_widget_send_focus_change”:gtk-x11-2.0, (/usr/lib/libgtk-x11-2.0.so.0: undefined symbol: gtk_widget_send_focus_change)
    [root@centos bin]#

    6.1、

    在Qt安装好之后,执行打开目录的操作的时候,Qt都会莫名其妙的自动一闪关闭。
    解决:
      删掉某一个插件:
      “/Opt/Qt5.3.2/Tools/QtCreator/bin/plugins/platformthemes/libqgtk2.so”,将这个插件删掉。(注意,这里是 删掉,将其改名的话,Qt还是会去加载 重名后的插件的。或者 可以将它 剪切到别的地方去)

    PS:这样做了之后,上面的报错信息的"gtk-x11-2.0"部分也没有了,值留下了下面的信息:

    [root@centos bin]# pwd
    /opt/Qt5.3.2/Tools/QtCreator/bin
    [root@centos bin]# ./qtcreator
    QString::arg: Argument missing: 无法解析dbus_connection_can_send_type中的符号“dbus_connection_can_send_type”:dbus-1, (/lib/libdbus-1.so.3: undefined symbol: dbus_connection_can_send_type)
    [root@centos bin]#

    6.2、

    "dbus-1" 的问题,是∵ dbus太旧 qt太新 的缘故。

    6.2.1、

      dbus 又需要 expat,如果不先装 expat 的话,在 dbus 执行"configure"的过程中会报错:

        “configure error explicitly requested expat but expat not found”

      于是,安装 expat,使用如下命令:

        yum install expat expat-devel

    6.2.2、

      到 http://dbus.freedesktop.org/releases/dbus/ 下载dbus的最新版本,我这里下载的是“dbus-1.10.6.tar.gz”。

      解压后,得到目录“dbus-1.10.6”,进入目录“dbus-1.10.6”,执行命令:

        ./configure --prefix=/

        make install

      ZC-1: 如果 configure命令 是像上面那样("./configure --prefix=/"),那么"make install"之后,在 目录"/lib"下 新增了一些文件(如"libdbus-1.so.3.14.6","libdbus-1.so"等) 原来的文件"libdbus-1.so.3"也给修改了(现在指向了文件"libdbus-1.so.3.14.6")

      ZC-2: 如果上面的 configure命令 写成这样:"./configure --prefix=/usr",那么新增的那些文件就会出现在 目录"/usr/lib"中。然后 在目录"/lib"中 删除libdbus-1.so和libdbus-1.so.3 两个文件(如果有的话),再在libdubs-1.so.3.8.3上鼠标右键创建连接创建两个文件,文件名是:libdbus-1.so和libdbus-1.so.3 。

    6.2.3、

      ZC:现在 dbus安装完毕了,那么上面解压出来的 目录"dbus-1.10.6" 能否删掉?现在没有把它删掉,待以后测试...

    7、

    到这里,基本的 程序可以创建起来了,也可以顺利的编译运行了。

    ZC:此时,在命令行敲入"./qtcreator",不会有 错误/警告信息 被打印出来。

    8、

    问题:

      发现 安装了 dbus之后,CentOS6.4 就关不了机了... 用虚拟机强制关机后再开机 也会有一些"FAILED"并且卡在某个模块的加载的地方...

      我是在关机的时候,发现卡在那里,然后等了很久还是一直卡着,然后通过 CTRL+ALT+F1~F6 切换到命令行登录,然后执行"reboot",出现了报错信息:

      由于本人的 Linux水平较低,尝试了一些安装dbs的方法,还是搞不定...于是只能选择放弃了...

      ZC:我这里安装的CentOS6.4是完全没有带???的,尝试使用带???的CentOS6.4来弄。

    9、

    备用:

    9.1、

    安装“libstdc++-4.4.7.11.el6.i686”:
    命令“yum install libstdc++-4.4.7.11.el6.i686”

    9.2、

    “yun update”==> 这是把yum更新到最新(这一步,需要下载蛮多东西的,宽带不够 或者 虚拟机较卡 的话,这一步就跳过吧)

    100、ZC

      20160810: CentOS6.4x64尝试使用 命令"yum install dbus" / "yum update dbus" / "yum update dbus-devel" 来解决问题,但是 它们都说 已经更新到最新了... 打开 Qt532,"dbus_connection_can_send_type"的问题依旧,暂时先不管了... 貌似 Qt532暂时使用中还没发现什么问题,先用着在说吧...

    101、

  • 相关阅读:
    教你Python3实现12306火车票自动抢票,小白必学
    Spring Security 中如何快速查看登录 IP地址等信息?一招搞定
    方程组及其解的判定
    向量空间
    极大无关组和向量组等价
    向量组的线性相关与线性无关
    向量间的线性关系
    向量的概念和运算
    矩阵的秩和秩的性质
    利用初等变换求逆矩阵和解矩阵方程
  • 原文地址:https://www.cnblogs.com/cppskill/p/5247968.html
Copyright © 2011-2022 走看看