• 8846阅读
  • 6回复

【提问】用qmake -project,qmake test.pro,make debug不能从ui文件生成ui_aa.h文件 [复制链接]

上一主题 下一主题
离线chenhouwu
 
只看楼主 倒序阅读 楼主  发表于: 2005-08-27
问题:ui文件不能生成ui_aa.h文件。

  描述:用如下命令

      qmake -project

      qmake test.pro

      make debug

      后,报ui_aa.h没找到的错,检查,根本就没有生成,但是自己用uic aa.ui -o ui_aa.h生成头文件后,make debug可以正常进行,没任何问题。

  不能解决的办法:trolltech的mail lists上,有人提出相同的问题,有人回复说是因为qmake的一个bug:即#include前面必须在colume 0,顶格写,不能留空格。然而仍然不能解决。

  解决:未
附件: QT.zip (15 K) 下载次数:31
离线XChinux

只看该作者 1楼 发表于: 2005-08-27
Re:用qmake -project,qmake test.pro,make debug不
主要原因是你的test.cpp文件里的错误:
我给你改正如下,就能正确编译了:

#include <QApplication>
#include <QMainWindow>
#include "ui_myWidget.h"
int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
    QMainWindow mainwindow;
    Ui::mywidget ui;
  ui.setupUi(&mainwindow);
  mainwindow.show();
  return app.exec();
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线chenhouwu
只看该作者 2楼 发表于: 2005-08-28
我用你的代码编译,通过。然后又试了一下我以前的那个代码:


  #include <QApplication>
  #include "ui_myWidget.h"
  int main(int argc, char *argv[])
  {
    QApplication app(argc, argv);
   
    return app.exec();
  }


把#include前面的TAB删掉,发现也可以编译通过了。不知道是什么原因,我知道qmake有这个bug,但是我昨天也这么实验过(指把#前面的空白删掉),但是当时却不能解决(所有命令都重新执行了)。
离线XChinux

只看该作者 3楼 发表于: 2005-08-28
Re:【提问】用qmake -project,qmake test.pro,make de
不是qmake的bug,是你的程序代码的问题。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线chenhouwu
只看该作者 4楼 发表于: 2005-08-29
你可以验证一下,这个程序后来我确实没改动,只是把#include前面的空格删掉,一切都好了
(我是dev-cpp with minGW+qt4。0。1)环境。
离线XChinux

只看该作者 5楼 发表于: 2005-08-29
Re:【提问】用qmake -project,qmake test.pro,make de
#include前面不能有空格
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线dugucloud
只看该作者 6楼 发表于: 2011-07-15
似乎Dev-C++用的是很老的MinGW编译器了。
QIODevice::ReadOnly
快速回复
限100 字节
 
上一个 下一个