我面临与此人完全相同的问题: Qmake doesn't generate a header file ..除了已经陈述的答案并没有解决我的问题。当我在'qmake -project'之后'qmake'我的项目时,它不会生成如书中所述的头文件。按照上面两个命令生成项目时,它会生成一个头文件'ui_gotocell.h'(对应于我的项目目录的名称,而不是main.cpp中使用的'ui_gotocelldialog.h')并终止编译时出现以下错误:
g++ -c -m32 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../Canopy32/appdata/canopy-1.4.1.1975.rh5-x86/mkspecs/linux-g++-32 -I. -I../Canopy32/appdata/canopy-1.4.1.1975.rh5-x86/include/QtCore -I../Canopy32/appdata/canopy-1.4.1.1975.rh5-x86/include/QtGui -I../Canopy32/appdata/canopy-1.4.1.1975.rh5-x86/include -I. -I. -I. -o main.o main.cpp
main.cpp: In function ‘int main(int, char**)’:
main.cpp:10:2: error: ‘GotoCellDialog’ is not a member of ‘Ui’
Ui::GotoCellDialog ui;
^
main.cpp:10:21: error: expected ‘;’ before ‘ui’
Ui::GotoCellDialog ui;
^
main.cpp:12:2: error: ‘ui’ was not declared in this scope
ui.setupUi(dialog);
^
make: *** [main.o] Error 1
itqan@Itqan:~/gotocell$
我在ubuntu 14.04上使用Qt 5.4和GNU GCC编译器。
答案 0 :(得分:1)
将Ui::GotoCellDialog ui;
替换为Ui:Dialog ui;
中的main.cpp
。