私は同様の問題についてオンラインで尋ねられた質問がいくつかあることを知っていますが、残念なことに、タイトルの示唆しているように、この比較的単純なものを解決できませんでした。qmakeはUICを呼び出さない
私は、最小限のQtのプロジェクトを設定する問題が発生します。
├── main.cpp
├── mainwindow.ui
└── qt.pro
main.cppに:
#include <QtWidgets/QtWidgets>
#include "ui_mainwindow.h"
int main() {
return 0;
}
qt.pro:
TEMPLATE = app
TARGET = qt-qmake-uic-problem
INCLUDEPATH += .
# Input
FORMS += mainwindow.ui
SOURCES += main.cpp
ファイルメインウィンドウ。 uiはQt Creatorが提供するデフォルトのMainWindow Formです。
[[email protected] 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のか、またはいずれか生成する必要があります:私はmakeが実行されますときにメイクファイルは、このエラーの原因となって作成され
qmake qt.pro
実行すると今
Makefileによって - 私は手動で手動で起動しません。私はmocにも同様のことが起こり、私の研究を行っていることに注意する必要があります。qmakeのこのインストールが壊れていると奇妙に思えますが、ドキュメンテーションや似たような問題では説明できませんでした。デフォルトのリポジトリからQt SDKを入手しました。
アドバイスをいただきありがとうございます。
あなたはQMainWindowまたは他のQTウィジェットリンケUIエレメントを使用する場合は、あなたのプロジェクトの設定で、一般的にウィジェットを有効にする必要があります:
QT += widgets
このあなたはQT-5を使用していると仮定すると、
'代わりにui_mainwindow.ui' – wasthishelpful
'のmainwindow.ui'を含めるようにしてくださいは、あなたの迅速な応答をありがとう!残念ながら、それは動作しませんでしたし、結果は同じです。ファイルが生成されず、g ++は「そのようなファイルやディレクトリはありません」というエラーを投げました。 –
@それが役に立った、それは* 'ui_mainwindow.h' *です。 'mainwindow.ui'のxmlファイルを' main.cpp'のcppファイルにインクルードするのは非理性的です – Mike