首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qmake不调用uic

qmake不调用uic
EN

Stack Overflow用户
提问于 2016-07-24 15:33:04
回答 1查看 1.4K关注 0票数 3

我知道网上有一些类似的问题,但不幸的是,正如标题所示,这些问题都没有帮助我解决这个看起来相对简单的问题。

我设置了一个出现问题的最小Qt项目:

代码语言:javascript
复制
├── main.cpp
├── mainwindow.ui
└── qt.pro

main.cpp:

代码语言:javascript
复制
#include <QtWidgets/QtWidgets>
#include "ui_mainwindow.h"

int main () {
    return 0;
}

qt.pro:

代码语言:javascript
复制
TEMPLATE = app
TARGET = qt-qmake-uic-problem
INCLUDEPATH += .

# Input
FORMS += mainwindow.ui
SOURCES += main.cpp

文件mainwindow.ui是Qt Creator提供的默认MainWindow表单。

现在如果我运行

代码语言:javascript
复制
qmake qt.pro

然后创建一个Makefile,在执行make时导致以下错误:

代码语言:javascript
复制
[developer@kdb qt-qmake-uic-problem]$ make
g++ -c -pipe -O2 -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o main.cpp
main.cpp:2:28: fatal error: ui_mainwindow.ui: No such file or directory
 #include "ui_mainwindow.h"
                            ^
compilation terminated.
make: *** [Makefile:298: main.o] Error 1

据我所知,ui_mainwindow.h必须由qmake或Makefile生成,而不是我自己手动调用uic生成的。我必须指出,moc也发生了类似的事情,在我的研究中,我没有在文档中找到解释,也没有在类似的问题中找到解释,尽管如果qmake的安装被破坏了,那会很奇怪-我正在运行Arch Linux,并从默认存储库获得了Qt SDK。

非常感谢您在建议方面的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-24 18:00:12

假设您使用的是QT-5:

如果您希望使用链接QMainWindow或其他QT小部件的UI元素,则通常需要在项目配置中启用小部件:

代码语言:javascript
复制
QT += widgets

这将激活表单内容的处理,如示例中的mainwindow.ui,并使您的代码链接到正确的库。

另请参阅此处:http://doc.qt.io/qt-5/qtwidgets-index.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38549747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档