【问题标题】:Trying to static compile a Qt Application using mingw32-make command but getting errors with #include statements尝试使用 mingw32-make 命令静态编译 Qt 应用程序,但使用 #include 语句出现错误
【发布时间】:2012-01-13 13:09:10
【问题描述】:

我编写了一个文本编辑器应用程序,我想对其进行静态编译。我按照this 页面上的说明进行操作。

我去了所有源文件所在的目录。 冉:

1. mingw32-make clean //no problems
2. qmake -config release //no problems
and finally
3. mingw32-make

,这就是我得到一个错误列表的地方,这些错误都是由我的代码中的#include 语句引起的。比如,如果我写了#include <QMainWindow>,我会得到一个错误

QMainWindow: 没有这样的文件或目录。

我做错了什么?

【问题讨论】:

  • 你的意思是,我写了#include 吗?没有。我试图看看它是否可以这样工作,但没有运气。
  • 可能发生的情况是qmake 引用了 Qt 标头所在的目录,而使用 mingw32-make 您必须明确指定它们
  • 我相信您需要运行qmake,因为包含Q_OBJECT 宏的类(例如QMainWindow)需要MOC。两阶段编译是 Qt 的少数缺点之一。
  • 等等,你的意思是在第 2 步运行 qmake 吗?我做到了 - 抱歉,我在输入步骤时犯了错误。我现在已经编辑过了。
  • 在这种情况下,它可能无法找到您的 Qt 目录。你的环境变量设置正确吗?

标签: c++ qt mingw32 static-compilation


【解决方案1】:

在 MSVC2010 中使用 qmake nmake 我通过替换实例解决了这个问题

#include <QMainWindow>

#include <QtWidgets/QMainWindow>

【讨论】:

    【解决方案2】:

    在您的 .pro 中尝试此行:“QT += gui”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多