编译时得到错误:找不到'QtGui/QAction'文件 #include < QtGui/QAction>



i刚刚安装了Mac OS X 10.8.3和Qt Creator 3,Xcode和Xcode命令行工具。我正在尝试编译一个在另一台计算机上工作的项目,但是每次我都进入"构建"时,我都会得到error: 'QtGui/QAction' file not found#include <QtGui/QAction>

我尝试在.pro文件中添加第二行和第三行,但没有帮助

QT       += core gui opengl
CONFIG += qt
QT += gui
TARGET = BasicOpenGL
TEMPLATE = app

更新:我也尝试了此.pro文件,但它不起作用

QT       += core gui opengl
QT += widgets
TARGET = BasicOpenGL
TEMPLATE = app

我应该说这是我第一次尝试在Mac上开发。

QT

编译输出
Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I. -F/Users/john/Qt/5.2.0/clang_64/lib -o mainwindow.o ../Framework/mainwindow.cpp
In file included from ../Framework/mainwindow.cpp:2:
../Framework/ui_mainwindow.h:14:10: fatal error: 'QtGui/QAction' file not found
#include <QtGui/QAction>
         ^
1 error generated.
make: *** [mainwindow.o] Error 1
15:51:32: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project BasicOpenGL (kit: Desktop Qt 5.2.0 clang 64bit)
When executing step 'Make'

更新:我让它起作用,但是随着所有的拧紧,我不确定是什么。我从新鲜的Mac映像,安装的系统更新,安装的Xcode,安装的Xcode命令行工具,安装的QT Creator 3.0,安装QT库4.8.1,在QT Creator中设置编译器。

尝试执行make clean,然后是make。我在Windows 7系统上遇到了这个确切的问题,这对我有用。

在qt5中, QAction标头在 QtWidgets中包括子目录,而不是 QtGui中(qt4是正确的)。尽管您实际上不需要指定包括子目录,因为qmake会为您处理。您只需要将QT += widgets添加到.pro文件。

将版本设置为QT5,将所有#include<QtQui/*> S更改为#include<QtWidgets/*>。并在.pro文件中添加QT += widgets。重建项目,当您再次获取错误时,点击错误消息,然后将#include<QtQui/*> s更改为#include<QtWidgets/*>

这里的一些答案说,您必须更改包括从 <QtGui/QAction><QtWidgets/QAction>

在QT-5下进行编译时就是这种情况。但是在发布QT-6后,您必须在QT-6应用程序中相反。

现在您必须将<QtWidgets/QAction>更改为<QtGui/QAction>,因为现在QACTION位于QT-6中的QTGUI文件夹中。

尽管我的答案与您非常旧的问题无关,但由于您遇到了QT-4问题,但您的问题仍然在Google中首先弹出,因此我为那些遇到相同问题但编译QT的堆叠的访问者发布了答案QT-6下的-5个项目。

最新更新