Probleme beim kompilieren

Verschiedenes zu Qt
Antworten
Toto
Beiträge: 1
Registriert: 26. Mai 2006 17:04

Probleme beim kompilieren

Beitrag von Toto »

Hallo,

ich bin neu im Umgang mit QT kenn mich aber mit C++ (Borland C++ Builder, ein wenig KDevelop) aus.

Habe vor wenigen Minuten QT Open Source (4.1.3) für Windows heruntergeladen. Dabei wurde der im Wizzard angesprochene MinGW-Compiler mitinstalliert.

Ich hab im QTDesigner eine einfache Form erstellt, auf welcher ein Button und eine Checkbox liegt.


Leider funktioniert das Kompilieren nicht. Ich bekomme "[..] undefined
reference to [..]"-Meldungen. Hab zwar den passenden FAQ Eintrag gefunden (http://www.trolltech.com/developer/faqs/165), doch der hilft mir nicht weiter (hab nur 1x QT drauf, und verwende nur einen Compiler).

Muss ich in der pro-Datei Prade setzen? Wenn ja welche?

Hab den kompletten Verlauf der Arbeit geloggt, hoffe es kann mir jemand helfen:

C:\qtprojekt>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 181D-978E

Verzeichnis von C:\qtprojekt

26.05.2006 16:54 <DIR> .
26.05.2006 16:54 <DIR> ..
26.05.2006 16:54 1.363 test.ui
1 Datei(en) 1.363 Bytes
2 Verzeichnis(se), 102.526.648.320 Bytes frei

C:\qtprojekt>qmake -project

C:\qtprojekt>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 181D-978E

Verzeichnis von C:\qtprojekt

26.05.2006 16:56 <DIR> .
26.05.2006 16:56 <DIR> ..
26.05.2006 16:56 307 qtprojekt.pro
26.05.2006 16:54 1.363 test.ui
2 Datei(en) 1.670 Bytes
2 Verzeichnis(se), 102.526.648.320 Bytes frei

C:\qtprojekt>type qtprojekt.pro
######################################################################
# Automatically generated by qmake (2.00a) Fr 26. Mai 16:56:24 2006
######################################################################

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

# Input
FORMS += test.ui

C:\qtprojekt>qmake

C:\qtprojekt>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 181D-978E

Verzeichnis von C:\qtprojekt

26.05.2006 16:57 <DIR> .
26.05.2006 16:57 <DIR> ..
26.05.2006 16:57 <DIR> debug
26.05.2006 16:57 4.928 Makefile
26.05.2006 16:57 4.302 Makefile.Debug
26.05.2006 16:57 4.348 Makefile.Release
26.05.2006 16:56 307 qtprojekt.pro
26.05.2006 16:57 <DIR> release
26.05.2006 16:54 1.363 test.ui
5 Datei(en) 15.248 Bytes
4 Verzeichnis(se), 102.526.603.264 Bytes frei

C:\qtprojekt>type Makefile
#############################################################################
# Makefile for building: qtprojekt
# Generated by qmake (2.00a) (Qt 4.1.3) on: Fr 26. Mai 16:57:06 2006
# Project: qtprojekt.pro
# Template: app
# Command: qmake -win32 -o Makefile qtprojekt.pro
#############################################################################

first: release
install: release-install
uninstall: release-uninstall
MAKEFILE = Makefile
QMAKE = qmake
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = $(COPY)
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = del
SYMLINK =
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
SUBTARGETS = \
release \
debug

release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall

Makefile: qtprojekt.pro ..\Qt\4.1.3\mkspecs\win32-g++\qmake.conf C:/Qt/4.1.3/mk
specs/qconfig.pri \
..\Qt\4.1.3\mkspecs\features\qt_config.prf \
..\Qt\4.1.3\mkspecs\features\exclusive_builds.prf \
..\Qt\4.1.3\mkspecs\features\default_pre.prf \
..\Qt\4.1.3\mkspecs\features\win32\default_pre.prf \
..\Qt\4.1.3\mkspecs\features\release.prf \
..\Qt\4.1.3\mkspecs\features\debug_and_release.prf \
..\Qt\4.1.3\mkspecs\features\default_post.prf \
..\Qt\4.1.3\mkspecs\features\win32\rtti.prf \
..\Qt\4.1.3\mkspecs\features\win32\exceptions.prf \
..\Qt\4.1.3\mkspecs\features\win32\stl.prf \
..\Qt\4.1.3\mkspecs\features\shared.prf \
..\Qt\4.1.3\mkspecs\features\warn_on.prf \
..\Qt\4.1.3\mkspecs\features\qt.prf \
..\Qt\4.1.3\mkspecs\features\win32\thread.prf \
..\Qt\4.1.3\mkspecs\features\moc.prf \
..\Qt\4.1.3\mkspecs\features\win32\windows.prf \
..\Qt\4.1.3\mkspecs\features\resources.prf \
..\Qt\4.1.3\mkspecs\features\uic.prf \
c:\Qt\4.1.3\lib\qtmain.prl
$(QMAKE) -win32 -o Makefile qtprojekt.pro
C:/Qt/4.1.3/mkspecs/qconfig.pri:
..\Qt\4.1.3\mkspecs\features\qt_config.prf:
..\Qt\4.1.3\mkspecs\features\exclusive_builds.prf:
..\Qt\4.1.3\mkspecs\features\default_pre.prf:
..\Qt\4.1.3\mkspecs\features\win32\default_pre.prf:
..\Qt\4.1.3\mkspecs\features\release.prf:
..\Qt\4.1.3\mkspecs\features\debug_and_release.prf:
..\Qt\4.1.3\mkspecs\features\default_post.prf:
..\Qt\4.1.3\mkspecs\features\win32\rtti.prf:
..\Qt\4.1.3\mkspecs\features\win32\exceptions.prf:
..\Qt\4.1.3\mkspecs\features\win32\stl.prf:
..\Qt\4.1.3\mkspecs\features\shared.prf:
..\Qt\4.1.3\mkspecs\features\warn_on.prf:
..\Qt\4.1.3\mkspecs\features\qt.prf:
..\Qt\4.1.3\mkspecs\features\win32\thread.prf:
..\Qt\4.1.3\mkspecs\features\moc.prf:
..\Qt\4.1.3\mkspecs\features\win32\windows.prf:
..\Qt\4.1.3\mkspecs\features\resources.prf:
..\Qt\4.1.3\mkspecs\features\uic.prf:
c:\Qt\4.1.3\lib\qtmain.prl:
qmake: qmake_all FORCE
@$(QMAKE) -win32 -o Makefile qtprojekt.pro

qmake_all: FORCE

make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile

release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean

release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:

$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

C:\qtprojekt>echo %PATH%
C:\PROGRA~1\Borland\CBUILD~1\Bin;C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;C:\WI
NDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Qt\4.1.3\bin;C:\texmf\mikt
ex\bin;C:\Programme\CVSNT\;C:\Programme\UEStudio;MinGW/bin;c:/MinGW/bin

C:\qtprojekt>make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/qtprojekt'
c:\Qt\4.1.3\bin\uic.exe test.ui -o ui_test.h
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\qtprojekt.exe"
-L"c:\Qt\4.1.3\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
c:\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text+0x26):qtmain_win.cpp: undefined
reference to `__gxx_personality_sj0'
c:\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text+0x1f7):qtmain_win.cpp: undefined
reference to `qMain(int, char**)'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\qtprojekt.exe] Error 1
mingw32-make[1]: Leaving directory `C:/qtprojekt'
mingw32-make: *** [release] Error 2


C:\qtprojekt>

Danke vorab,

Toto
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Es ist eher unwarscheinlich das die von qmake erstellten Dateien einen Fehler enthalten, poste mal etwas von deinem Source-Code, oder ließ mal im Assistant im Abschnitt QtDesigner nach, da gibt es ein Tutorial, dort kannst du nachlesen ob du einen Schritt vergessen hast.

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Seit Qt4 erstellt der Designer die main-Funktion nicht mehr automatisch - das muss man jetzt selbst machen. Gehe am besten die designer-tutorials durch (siehe doc.trolltech.com/4.1)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten