博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt5.3.2_CentOS6.4_基本编程环境__20160306【勿删,繁琐】
阅读量:5162 次
发布时间:2019-06-13

本文共 7206 字,大约阅读时间需要 24 分钟。

20160306 全程没有f/q

ZC:使用的虚拟机环境是:博客园VMwareSkill 的 “”

 

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、

 

转载于:https://www.cnblogs.com/cppskill/p/5247968.html

你可能感兴趣的文章
常用Dockerfile举例
查看>>
jquery的ajax用法
查看>>
设计模式-策略模式(Strategy)
查看>>
django orm 数据查询详解
查看>>
JarvisOJ Basic 熟悉的声音
查看>>
C# list导出Excel(二)
查看>>
CAS 单点登录模块学习
查看>>
跟着辛星用PHP的反射机制来实现插件
查看>>
Android应用开发-网络编程①
查看>>
input中的name,value以及label中的for
查看>>
静态库制作-混编(工程是oc为基础)
查看>>
jQuery 显示加载更多
查看>>
代理模式
查看>>
Confluence 6 系统运行信息中的 JVM 内存使用情况
查看>>
Confluence 6 升级以后
查看>>
用JS实现版面拖拽效果
查看>>
二丶CSS
查看>>
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
JS一些概念知识及参考链接
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>