zoukankan      html  css  js  c++  java
  • linux下QT Creator常见错误及解决办法

    最近因为在做一个关于linux下计算机取证的小项目,需要写一个图形界面,所以想到了用QT来写,选用了linux下的集成开发环境QT Creator5.5.1,但刚刚安装好,竟然连一个"hello world"的样例都跑不起来,现在通过查找资料将一些问题解决掉了,放在这里记录下来,已被后用和分享:

    1、QApplication: No such file or directory

    (1)首先确定好QT Creator内部的环境变量设置是否正确:

    “工具-选项-构建和运行”:找到“QT Versions”,点击“自动检测”下面的版本号,下边会出现一个新的配置栏,点击“桌面的Qt 版本5.5.1 ”后面的“详情”,查看“QT_INSTALL_HEADERS”后面的头文件变量是否正确,也可以到该变量中查找有无QApplication这一头文件,如果没有,建议重新安装QT,因为你从网上下载的单个文件不一定能够现有的编译器识别,最好安装配套的组件。

    (2)如果以上信息都确认无误,则检查工程文件中*.pro中是否有“QT += widgets”,若没有,则需要在工程文件*.pro下增加一条:“QT += widgets”。通常问题就可以解决了;

    2、:-1: error: cannot find -lGL

    这个就很郁闷了,刚刚接触QT,连个hello world都没搞定呢,lGL是个什么鬼?网上一查才知道是个什么运行库,这里感谢CSDN上网友的解决办法:

    http://bbs.csdn.net/topics/390845437?list=lz

    sudo apt-get install libqt4-dev或者sudo apt-get install libgl1-mesa-dev或者libgl1-mesa-dev或者libglu1-mesa-dev

    我把这几个包没有的都装了一遍,最后一个装的时候还把源更新了一遍才装上,这次问题就完美解决了。

    3、Circular all <- first dependency dropped

    这个问题就比较奇葩了,我很纳闷为什么会有这样的问题:

    这个问题其实很容易解决,但解决方式有点让人吐血:出这个问题的肯定是你把工程名命名为了"first",是不是?

    查过了才知道,Qt使用了first这个单词作为生成的Makefile文件的内置项,导致make在处理Makefile时产生依赖错误,只要把工程重命名即可解决

    (神坑的问题……)

    感谢博客园网友“24k纯开源”提供的解决办法:http://www.cnblogs.com/csuftzzk/archive/2013/07/18/3198154.html

    4、 [SOLVED] Gtk-Message: Failed to load module "canberra-gtk-module"

    这个是gtk库没有安装完整,重新安装即可

    sudo apt-get install libcanberra-gtk3-module

    sudo apt-get install libcanberra-gtk*

    这样就可以解决了

    5、对于包含了Q_OBJECT宏的类对象,需要现在本地执行"qmake -project"->"qmake"->"make",才能获得可执行文件,QT Creator中不能直接编译。

    6、error: 'tr' was not declared in this scope

    tr这个函数是QObject对象中的静态成员函数,因此使用的时候,如果不是用类来写的话,就会报这个错误,只需要在tr函数前加上“QObject::”,如:“QObject::tr("a button")”这样既可;

    *一般用类来写程序时都会在定义类成员之前先包含QObject对象,所以用类就不会存在这个问题了

    (今后问题肯定还会有,如果再出现任何问题,我都会及时再次更新……)

  • 相关阅读:
    SpringBoot之旅第三篇-日志
    SpringBoot之旅第二篇-配置
    SpringBoot之旅第一篇-初探
    394. 字符串解码
    1190. 反转每对括号间的子串
    921. 使括号有效的最少添加
    Leetcode 1171. 从链表中删去总和值为零的连续节点
    设计模式之过滤器模式——Java语言描述
    MySQL查询执行的基础
    设计模式之桥接模式——Java语言描述
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/5247065.html
Copyright © 2011-2022 走看看