zoukankan      html  css  js  c++  java
  • Qt学习过程中遇到的问题

    由于工作需要,开始使用Qt,由于在网上找的教程文档时针对qt3的,所以在学习的过程遇到了许多由于版本不一致造成的问题,因此记录下来。

    参考的文档是:Qt入门教程 详细讲解版

    本机Qt版本为:Qt5.3.1(windows、Linux(CentOS 6.2))

    windows下

    1、错误:C1083: 无法打开包括文件:“QApplication”: No such file or directory
    原因:Qt5里不再用QtGui模块,而是使用QtWidgets模块。
    解决办法:在工程文件.pro里加上 QT += widgets
    2、error: 'class QApplication' has no member named 'setMainWidget'
    a.setMainWidget(&hello);
    解决办法:去掉该句就行了。

    原因:Qt 3.x支持setMainWidget,但是Qt4已经取消了对setMainWidget的支持。
    这个按钮被选为这个应用程序的主窗口部件。如果用户关闭了主窗口部件,应用程序就退出了。
    你不用必须设置一个主窗口部件,但绝大多数程序都有一个。

    3、qvbox.h:no such file or directory #include <qvbox.h>
    原因:依然是兼容性问题,Qt4中已经不再支持了
    解决办法:使用QWidget代替。
    http://blog.csdn.net/h516077808/article/details/8461083

    Linux下

    1、在网上下载,安装好了之后无法启动,使用命令启动得到如下错误:

    /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
    出现这种问题就是因为编译库的编译器和编译当前程序的编译器版本是不一样的,在具体一点就是因为,
    当前程序的编译器的版本是比较低的,只要升级一下就可以了。可以用如下命令查看一下当前GCC版本:
    strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

    得到版本只到GLIBCXX_3.4.13,因此出现这个错误,

    升级GCC

    可以参考这篇文章
    1.下载源码包
    wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
    解压: tar -jxvf gcc-4.8.2.tar.bz2

    2.下载编译所需依赖库
    cd gcc-4.8.2
    ./contrib/download_prerequisites
    cd ..

    3.建立编译输出目录
    mkdir gcc-build-4.8.2

    4.进入此目录,执行以下命令,生成makefile文件
    cd gcc-build-4.8.2

    下面这句配置错了,需增加--prefix指定安装目录:
    ../gcc-4.8.2/configure --prefix=/usr/local/gcc-4.8.2/ --enable-checking=release --enable-languages=c,c++ --disable-multilib

    5.编译
    make -j4
    如果编译成功,则时间是比较长的,半个小时左右,所以如果你看它一直在输出没有立刻停下来,应该很开心!

    6.安装
    make install

    5.将libstdc++.so.6.0.18文件复制到 /usr/lib 文件夹下面(版本号根据自己的情况填写)

    sudo cp libstdc++.so.6.0.18 /usr/lib64  

     6.进入/usr/lib64文件夹下,建立新的软链接

    sudo ln -sf libstdc++.so.6.0.18 libstdc++.so.6

     7.再查看一次

    strings /usr/lib64/libstdc++.so.6 | grep GLIBC
  • 相关阅读:
    Ambiguous mapping. Cannot map 'labelInfoController' method
    在写ssh项目时浏览器页面出现http status 404 – not found
    JS页面出现Uncaught SyntaxError: Unexpected token < 错误
    Data truncation: Truncated incorrect DOUBLE value:
    个人最终总结
    结对编程--黄金点游戏
    Windows操作系统----锁住命令行窗口
    Windows操作系统下给文件夹右键命令菜单添加启动命令行的选项
    命令行下运行 java someClass.class出现 “错误:找不到或无法加载主类someClass ” 的解决方案
    Qt Quick程序的发布
  • 原文地址:https://www.cnblogs.com/lit10050528/p/3842911.html
Copyright © 2011-2022 走看看