PDA

View Full Version : qmake: does no generate .h file from .ui file



miodas007
18th April 2011, 10:13
//QT4
//System: Ubuntu 10.10, x32


Hi,
I try run the example application (http://sector.ynet.sk/qt4-tutorial/tutorial/my-first-qt-gui-application/my_first_qt_app/my_first_qt_app.zip)

I have a files:
main.cpp
myqtapp.cpp
myqtapp.h
myqtapp.ui

So i try generate a project: qmake -project
In project folder was generate a file sym.pro with content:

################################################## ####################
# Automatically generated by qmake (1.07a) Mon Apr 18 11:08:30 2011
################################################## ####################

TEMPLATE = app
INCLUDEPATH += .

# Input
INTERFACES += myqtapp.ui
SOURCES += main.cpp

btw. i also try write this file manualy

Next i try: qmake
Makefile was generated by i don't have a ui_myqtapp.h! Why?
Of course when I try: make, i get errors caused missing ui_myqtapp.h.

I'd by very grateful if someone tell me what is wrong.


This is my Makefile:

################################################## ###########################
# Makefile for building: sym
# Generated by qmake (1.07a) (Qt 3.3.8b) on: Mon Apr 18 11:13:01 2011
# Project: sym.pro
# Template: app
# Command: $(QMAKE) -o Makefile sym.pro
################################################## ###########################

####### Compiler, tools and options

CC = gcc
CXX = g++
LEX = flex
YACC = yacc
CFLAGS = -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT
CXXFLAGS = -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT
LEXFLAGS =
YACCFLAGS= -d
INCPATH = -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3
LINK = g++
LFLAGS =
LIBS = $(SUBLIBS) -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
AR = ar cqs
RANLIB =
MOC = /usr/share/qt3/bin/moc
UIC = /usr/share/qt3/bin/uic
QMAKE = qmake
TAR = tar -cf
GZIP = gzip -9f
COPY = cp -f
COPY_FILE= $(COPY)
COPY_DIR = $(COPY) -r
INSTALL_FILE= $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = rm -f
SYMLINK = ln -sf
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p

####### Output directory

OBJECTS_DIR = ./

####### Files

HEADERS =
SOURCES = main.cpp
OBJECTS = main.o \
myqtapp.o
FORMS = myqtapp.ui
UICDECLS = myqtapp.h
UICIMPLS = myqtapp.cpp
SRCMOC = moc_myqtapp.cpp
OBJMOC = moc_myqtapp.o
DIST = sym.pro
QMAKE_TARGET = sym
DESTDIR =
TARGET = sym

first: all
####### Implicit rules

.SUFFIXES: .c .o .cpp .cc .cxx .C

.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: Makefile $(TARGET)

$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)

mocables: $(SRCMOC)
uicables: $(UICDECLS) $(UICIMPLS)

$(MOC):
( cd $(QTDIR)/src/moc && $(MAKE) )

Makefile: sym.pro /usr/share/qt3/mkspecs/default/qmake.conf /usr/share/qt3/lib/libqt-mt.prl
$(QMAKE) -o Makefile sym.pro
qmake:
@$(QMAKE) -o Makefile sym.pro

dist:
@mkdir -p .tmp/sym && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/sym/ && ( cd `dirname .tmp/sym` && $(TAR) sym.tar sym && $(GZIP) sym.tar ) && $(MOVE) `dirname .tmp/sym`/sym.tar.gz . && $(DEL_FILE) -r .tmp/sym

mocclean:
-$(DEL_FILE) $(OBJMOC)
-$(DEL_FILE) $(SRCMOC)

uiclean:
-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)

yaccclean:
lexclean:
clean: mocclean uiclean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
-$(DEL_FILE) $(TARGET) $(TARGET)


FORCE:

####### Compile

main.o: main.cpp myqtapp.h

myqtapp.h: myqtapp.ui
$(UIC) myqtapp.ui -o myqtapp.h

myqtapp.cpp: myqtapp.h myqtapp.ui
$(UIC) myqtapp.ui -i myqtapp.h -o myqtapp.cpp

myqtapp.o: myqtapp.cpp myqtapp.h

moc_myqtapp.o: moc_myqtapp.cpp myqtapp.h

moc_myqtapp.cpp: $(MOC) myqtapp.h
$(MOC) myqtapp.h -o moc_myqtapp.cpp

####### Install

install:

uninstall:

stampede
18th April 2011, 10:25
Try to update your qmake, because it looks like you have old version.
To fix this by hand, I think you need to change INTERFACES += to FORMS += in .pro file.

miodas007
18th April 2011, 10:38
To fix this by hand, I think you need to change INTERFACES += to FORMS += in .pro file.
I try this way many time:) but i have any diffrents if I use FORM or INTERFACES


Try to update your qmake, because it looks like you have old version.

I have before qt4-make 4.6.2. Now I install qt4-make 4.7.0 by i still have this problem

stampede
18th April 2011, 10:45
qt4-make 4.6.2. Now I install qt4-make 4.7.0
What is the output of qmake -version ? Should be something like:


QMake version 2.01a
Using Qt version 4.7.2 in /usr/local/Trolltech/Qt-4.7.2/lib

try

sudo apt-get update
sudo apt-get install qt4-qmake
or build qt from sources ( qt-everywhere-opensource-src-4.7.2 )

miodas007
18th April 2011, 10:59
What is the output of qmake -version ? Should be something like:

Qmake version: 1.07a (Qt 3.3.8b)
Qmake is free software from Trolltech ASA.

Qt 3.3.8B?? WTF :confused:

Added after 8 minutes:

Now i have:


QMake version 2.01a
Using Qt version 4.6.2 in /usr/lib


qmake -project generate a file:


################################################## ####################
# Automatically generated by qmake (2.01a) pon. kwi 18 11:57:38 2011
################################################## ####################

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += myqtapp.h
FORMS += myqtapp.ui
SOURCES += main.cpp myqtapp.cpp

But qmake still don't generate a header file

stampede
18th April 2011, 11:26
But qmake still don't generate a header file
Correct, qmake won't generate any headers, it's make that generates ui_*.h files.
Try to make clean build (make clean, qmake, make), if it does not help, show the Makefile generated by this version of qmake.

miodas007
18th April 2011, 21:14
unfortunately i reply now, becouse before i was busy.


Try to make clean build (make clean, qmake, make), if it does not help, show the Makefile generated by this version of qmake.
make clean given nothing, so i pase content of my Makefile:

################################################## ###########################
# Makefile for building: sym
# Generated by qmake (2.01a) (Qt 4.6.2) on: pon. kwi 18 22:11:07 2011
# Project: sym.pro
# Template: app
# Command: /usr/bin/qmake -unix -o Makefile sym.pro
################################################## ###########################

####### Compiler, tools and options

CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I.
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -L/usr/lib -lQtGui -lQtCore -lpthread
AR = ar cqs
RANLIB =
QMAKE = /usr/bin/qmake
TAR = tar -cf
COMPRESS = gzip -9f
COPY = cp -f
SED = sed
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
STRIP = strip
INSTALL_FILE = install -m 644 -p
INSTALL_DIR = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p

####### Output directory

OBJECTS_DIR = ./

####### Files

SOURCES = main.cpp \
myqtapp.cpp moc_myqtapp.cpp
OBJECTS = main.o \
myqtapp.o \
moc_myqtapp.o
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/qconfig.pri \
/usr/share/qt4/mkspecs/features/qt_functions.prf \
/usr/share/qt4/mkspecs/features/qt_config.prf \
/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
/usr/share/qt4/mkspecs/features/qt.prf \
/usr/share/qt4/mkspecs/features/unix/thread.prf \
/usr/share/qt4/mkspecs/features/moc.prf \
/usr/share/qt4/mkspecs/features/resources.prf \
/usr/share/qt4/mkspecs/features/uic.prf \
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf \
sym.pro
QMAKE_TARGET = sym
DESTDIR =
TARGET = sym

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: Makefile $(TARGET)

$(TARGET): ui_myqtapp.h $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)

Makefile: sym.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/qconfig.pri \
/usr/share/qt4/mkspecs/features/qt_functions.prf \
/usr/share/qt4/mkspecs/features/qt_config.prf \
/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
/usr/share/qt4/mkspecs/features/qt.prf \
/usr/share/qt4/mkspecs/features/unix/thread.prf \
/usr/share/qt4/mkspecs/features/moc.prf \
/usr/share/qt4/mkspecs/features/resources.prf \
/usr/share/qt4/mkspecs/features/uic.prf \
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf
$(QMAKE) -unix -o Makefile sym.pro
/usr/share/qt4/mkspecs/common/g++.conf:
/usr/share/qt4/mkspecs/common/unix.conf:
/usr/share/qt4/mkspecs/common/linux.conf:
/usr/share/qt4/mkspecs/qconfig.pri:
/usr/share/qt4/mkspecs/features/qt_functions.prf:
/usr/share/qt4/mkspecs/features/qt_config.prf:
/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/usr/share/qt4/mkspecs/features/default_pre.prf:
/usr/share/qt4/mkspecs/features/release.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
/usr/share/qt4/mkspecs/features/qt.prf:
/usr/share/qt4/mkspecs/features/unix/thread.prf:
/usr/share/qt4/mkspecs/features/moc.prf:
/usr/share/qt4/mkspecs/features/resources.prf:
/usr/share/qt4/mkspecs/features/uic.prf:
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
qmake: FORCE
@$(QMAKE) -unix -o Makefile sym.pro

dist:
@$(CHK_DIR_EXISTS) .tmp/sym1.0.0 || $(MKDIR) .tmp/sym1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/sym1.0.0/ && $(COPY_FILE) --parents myqtapp.h .tmp/sym1.0.0/ && $(COPY_FILE) --parents main.cpp myqtapp.cpp .tmp/sym1.0.0/ && $(COPY_FILE) --parents myqtapp.ui .tmp/sym1.0.0/ && (cd `dirname .tmp/sym1.0.0` && $(TAR) sym1.0.0.tar sym1.0.0 && $(COMPRESS) sym1.0.0.tar) && $(MOVE) `dirname .tmp/sym1.0.0`/sym1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/sym1.0.0


clean:compiler_clean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) Makefile


mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all

compiler_moc_header_make_all: moc_myqtapp.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_myqtapp.cpp
moc_myqtapp.cpp: ui_myqtapp.h \
myqtapp.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) myqtapp.h -o moc_myqtapp.cpp

compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_myqtapp.h
compiler_uic_clean:
-$(DEL_FILE) ui_myqtapp.h
ui_myqtapp.h: myqtapp.ui
/usr/bin/uic-qt4 myqtapp.ui -o ui_myqtapp.h

compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean compiler_uic_clean

####### Compile

main.o: main.cpp myqtapp.h \
ui_myqtapp.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp

myqtapp.o: myqtapp.cpp myqtapp.h \
ui_myqtapp.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o myqtapp.o myqtapp.cpp

moc_myqtapp.o: moc_myqtapp.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_myqtapp.o moc_myqtapp.cpp

####### Install

install: FORCE

uninstall: FORCE

FORCE:

ChrisW67
18th April 2011, 22:57
What's wrong? Type make.