Seite 1 von 2

unter Windows tausende undefined references...

Verfasst: 24. Juni 2006 19:15
von MadsMaus
Habe unter Linux ein Qt-Programm geschrieben, was wir nun zur Belegabgabe auch unter Windows compilieren wollen. Wir nutzen hierfür auch qmake, um den moc alles automatisch machen zu lassen, aber trotzdem scheint das nicht zu funktionieren, da wir (bei ich glaube jeder Klasse die von QObject abgeleitet ist und signale und slots verwendet) tausende von undefined references kriegen...

Hier mal ein kleiner ausschnitt der Fehlermeldungen:

Code: Alles auswählen

./release\moc_registersettingsdialog.o(.rdata$_ZTV22RegisterSettingsDialog[v
table for RegisterSettingsDialog]+0x110):moc_registersettingsdialog.cpp:
undefined r
eference to `non-virtual thunk to QWidget::releaseDC(HDC__*) const'
./release\moc_registersettingsdialog.o(.rdata$_ZTV22RegisterSettingsDialog[v
table for RegisterSettingsDialog]+0x114):moc_registersettingsdialog.cpp:
undefined r
eference to `non-virtual thunk to
QWidget::metric(QPaintDevice::PaintDeviceMetric) const'
./release\moc_registersettingsdialog.o(.text$_ZN22RegisterSettingsDialogD1Ev
[RegisterSettingsDialog::~RegisterSettingsDialog()]+0x1b):moc_registersettin
gsdialog
.cpp: undefined reference to `_imp___ZN7QDialogD2Ev'
./release\moc_registersettingsdialog.o(.text$_ZN22RegisterSettingsDialogD0Ev
[RegisterSettingsDialog::~RegisterSettingsDialog()]+0x1c):moc_registersettin
gsdialog
[...]
d:\Programme\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text$_ZN7QVectorIPcEC1E
i[QVector<char*>::QVector(int)]+0x52):qtmain_win.cpp: undefined reference to
`_imp__
_Z7qMemSetPvij'
d:\Programme\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text$_ZN7QVectorIPcE7re
allocEii[QVector<char*>::realloc(int, int)]+0x3d):qtmain_win.cpp: undefined
referenc
e to `_imp___Z8qReallocPvj'
d:\Programme\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text$_ZN7QVectorIPcE7re
allocEii[QVector<char*>::realloc(int, int)]+0xaf):qtmain_win.cpp: undefined
referenc
e to `_imp___ZN11QVectorData6mallocEiiiPS_'
d:\Programme\Qt\4.1.3\lib/libqtmain.a(qtmain_win.o)(.text$_ZN7QVectorIPcE7re
allocEii[QVector<char*>::realloc(int, int)]+0xd7):qtmain_win.cpp: undefined
referenc
e to `_imp___Z7qMemSetPvij'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\..\bin\ludoqt.exe] Error 1
mingw32-make[1]: Leaving directory
`H:/EBOOKS/Informatik/_STUDIUM/AI/Semester
4/V-Sys/Beleg/svn/Ludo-Qt/LudoQt/src'
mingw32-make: *** [release] Error 2
unsere .pro Datei sieht folgendermaßen aus:

Code: Alles auswählen

######################################################################
# Automatically generated by qmake (2.00a) Sa 24. Jun 18:46:11 2006
######################################################################

QT += network
LIBS += -lQtXml \
        -lglut \
        -lQtOpenGL 
TEMPLATE = app
TARGET += 
DEPENDPATH += . ludogl messages utils
INCLUDEPATH += .D:/Programme/Qt/4.1.3/include/QtXml/ \
D:/Programme/Qt/4.1.3/include/QtGui/ \
D:/Programme/Qt/4.1.3/include/Qt/ \
D:/Programme/Qt/4.1.3/include/QtNetwork/ \
D:/Programme/Qt/4.1.3/include/QtCore/ \
               D:/Programme/Qt/4.1.3/include/QtOpenGL/
CONFIG += debug \
               warn_on \
               qt \
          opengl
          
# Input
HEADERS += gamesettingsdialog.h \
           highscoresdialog.h \
           LudoGame.h \
           messagehandler.h \
           registersettingsdialog.h \
           tableitem.h \
           tablemodel.h \
           window.h \
           ludogl/board.h \
           ludogl/field.h \
           ludogl/figure.h \
           ludogl/ludogl.h \
           ludogl/player.h \
           ludogl/surfaceGeometry.h \
           ludogl/trackball.h \
           messages/abstractgameactionmessage.h \
           messages/abstractmessage.h \
           messages/AddMeToGameRequest.h \
           messages/AddMeToGameResponse.h \
           messages/AddMeToLoadedGameRequest.h \
           messages/AddMeToLoadedGameResponse.h \
           messages/CurrentGameStartedNotification.h \
           messages/DiceRolledRequest.h \
           messages/DiceRolledResponse.h \
           messages/DownloadGamelistRequest.h \
           messages/DownloadGamelistResponse.h \
           messages/DownloadGamelistResponseGame.h \
           messages/DownloadHighscoreListRequest.h \
           messages/DownloadHighscoreListResponse.h \
           messages/DownloadHighscoreListResponseEntry.h \
           messages/DownloadStoredGamesRequest.h \
           messages/DownloadStoredGamesResponse.h \
           messages/DownloadStoredGamesResponseGame.h \
           messages/DoYouWantToSaveRequest.h \
           messages/DoYouWantToSaveResponse.h \
           messages/EndGameByClientsFaultNotification.h \
           messages/EndGameByServerSaveNotification.h \
           messages/FigureMovedRequest.h \
           messages/FigureMovedResponse.h \
           messages/GameActionMessage.h \
           messages/GameActionRequest.h \
           messages/GiveUpTurnToNextPlayerNotification.h \
           messages/IamTheWinnerNotification.h \
           messages/LoadGameRequest.h \
           messages/LoadGameResponse.h \
           messages/NewPlayerAddedNotification.h \
           messages/PlayerRemovedNowItsMyTurnNotification.h \
           messages/ReadyToGoNotification.h \
           messages/RegisterRequest.h \
           messages/RegisterResponse.h \
           messages/RemoveMeFromGameRequest.h \
           messages/SaveGameRequest.h \
           messages/SaveGameResponse.h \
           messages/SendChatMessageRequest.h \
           messages/SleepingNotification.h \
           messages/StartCurrentGameRequest.h \
           messages/StartNewGameRequest.h \
           messages/StartNewGameResponse.h \
           messages/YourTurnNotification.h \
           utils/xmlreader.h \
           safe_read.c \
           ludogl/SurfaceGeometry.h
FORMS += highscores.ui ludo.ui register.ui startscreen.ui
SOURCES += gamesettingsdialog.cpp \
           highscoresdialog.cpp \
           LudoGame.cpp \
           ludoqt.cpp \
           main.cpp \
           messagehandler.cpp \
           registersettingsdialog.cpp \
           safe_read.c \
           tableitem.cpp \
           tablemodel.cpp \
           window.cpp \
           ludogl/board.cpp \
           ludogl/field.cpp \
           ludogl/figure.cpp \
           ludogl/ludogl.cpp \
           ludogl/player.cpp \
           ludogl/surfaceGeometry.cpp \
           ludogl/trackball.cpp \
           messages/AddMeToGameRequest.cpp \
           messages/AddMeToGameResponse.cpp \
           messages/AddMeToLoadedGameRequest.cpp \
           messages/AddMeToLoadedGameResponse.cpp \
           messages/CurrentGameStartedNotification.cpp \
           messages/DiceRolledRequest.cpp \
           messages/DiceRolledResponse.cpp \
           messages/DownloadGamelistRequest.cpp \
           messages/DownloadGamelistResponse.cpp \
           messages/DownloadGamelistResponseGame.cpp \
           messages/DownloadHighscoreListRequest.cpp \
           messages/DownloadHighscoreListResponse.cpp \
           messages/DownloadHighscoreListResponseEntry.cpp \
           messages/DownloadStoredGamesRequest.cpp \
           messages/DownloadStoredGamesResponse.cpp \
           messages/DownloadStoredGamesResponseGame.cpp \
           messages/DoYouWantToSaveRequest.cpp \
           messages/DoYouWantToSaveResponse.cpp \
           messages/EndGameByClientsFaultNotification.cpp \
           messages/EndGameByServerSaveNotification.cpp \
           messages/FigureMovedRequest.cpp \
           messages/FigureMovedResponse.cpp \
           messages/GameActionMessage.cpp \
           messages/GameActionRequest.cpp \
           messages/GiveUpTurnToNextPlayerNotification.cpp \
           messages/IamTheWinnerNotification.cpp \
           messages/LoadGameRequest.cpp \
           messages/LoadGameResponse.cpp \
           messages/NewPlayerAddedNotification.cpp \
           messages/PlayerRemovedNowItsMyTurnNotification.cpp \
           messages/ReadyToGoNotification.cpp \
           messages/RegisterRequest.cpp \
           messages/RegisterResponse.cpp \
           messages/RemoveMeFromGameRequest.cpp \
           messages/SaveGameRequest.cpp \
           messages/SaveGameResponse.cpp \
           messages/SendChatMessageRequest.cpp \
           messages/SleepingNotification.cpp \
           messages/StartCurrentGameRequest.cpp \
           messages/StartNewGameRequest.cpp \
           messages/StartNewGameResponse.cpp \
           messages/YourTurnNotification.cpp \
           utils/xmlreader.cpp
Liegt es denn wirklich an dem moc? Hab mir auch schon die Seiten bei Trolltech durchgelesen und werde im notfall die makefiles per hand erstellen müssen...

Verfasst: 25. Juni 2006 18:24
von Christian81
Ich denke alle die fehlenden Importe kommen aus QtGui.lib -> config += gui mal testen

Verfasst: 27. Juni 2006 12:28
von MadsMaus
Hm... das scheint uns etwas weitergebracht zu haben. Nun haben wir nur noch folgende Fehler:

Code: Alles auswählen

./release\Dice3D.o(.text+0xd56):Dice3D.cpp: undefined reference to `_imp__glTexEnvf'
./release\Dice3D.o(.text+0xda4):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0xe7d):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0xf56):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x102f):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x1108):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x11e1):Dice3D.cpp: more undefined references to `_imp__glTexImage2D' follow
./release\glm.o(.text+0x3a83):glm.c: undefined reference to `_imp__glMaterialf'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\..\bin\ludoqt.exe] Error 1
mingw32-make[1]: Leaving directory `H:/EBOOKS/Informatik/_STUDIUM/AI/Semester 4/V-Sys/Beleg/svn/Ludo-Qt/LudoQt/src'
mingw32-make: *** [release] Error 2
und die .pro Datei sieht folgendermaßen aus:

Code: Alles auswählen

TEMPLATE = app
TARGET += 
DEPENDPATH += . ludogl messages utils
QT  += opengl \
            network
  
LIBS += -lQtXml \
             -lglut \
             -lQtOpenGL \
              -lwsock32
INCLUDEPATH += D:/Programme/Qt/4.1.3/include/QtXml/ \
D:/Programme/Qt/4.1.3/include/QtGui/ \
D:/Programme/Qt/4.1.3/include/Qt/ \
D:/Programme/Qt/4.1.3/include/QtNetwork/ \
D:/Programme/Qt/4.1.3/include/QtCore/ \
C:/Programme/MinGW/include/ \
D:/Programme/Qt/4.1.3/include/QtOpenGL/
TARGET = ../bin/ludoqt

CONFIG += release \
warn_on \
qt \
gui \
opengl

# Input
HEADERS += gamesettingsdialog.h \
           highscoresdialog.h \
           LudoGame.h \
           LudoPlayer.h \
           messagehandler.h \
           registersettingsdialog.h \
           tableitem.h \
           tablemodel.h \
           window.h \
           ludogl/board.h \
           ludogl/Dice3D.h \
           ludogl/field.h \
           ludogl/figure.h \
           ludogl/glm.h \
           ludogl/gltx.h \
           ludogl/ludogl.h \
           ludogl/player.h \
           ludogl/surfaceGeometry.h \
           ludogl/trackball.h \
           messages/abstractmessage.h \
           messages/AddMeToGameRequest.h \
           messages/AddMeToGameResponse.h \
           messages/AddMeToLoadedGameRequest.h \
           messages/AddMeToLoadedGameResponse.h \
           messages/CurrentGameStartedNotification.h \
           messages/CurrentGameStartedPlayerOrderNotification.h \
           messages/DiceRolledRequest.h \
           messages/DiceRolledResponse.h \
           messages/DownloadGamelistRequest.h \
           messages/DownloadGamelistResponse.h \
           messages/DownloadGamelistResponseGame.h \
           messages/DownloadHighscoreListRequest.h \
           messages/DownloadHighscoreListResponse.h \
           messages/DownloadHighscoreListResponseEntry.h \
           messages/DownloadStoredGamesRequest.h \
           messages/DownloadStoredGamesResponse.h \
           messages/DownloadStoredGamesResponseGame.h \
           messages/DoYouWantToSaveRequest.h \
           messages/DoYouWantToSaveResponse.h \
           messages/EndGameByClientsFaultNotification.h \
           messages/EndGameByServerSaveNotification.h \
           messages/FigureMovedRequest.h \
           messages/FigureMovedResponse.h \
           messages/GameActionMessage.h \
           messages/GameActionRequest.h \
           messages/GameActionResponse.h \
           messages/GiveUpTurnToNextPlayerNotification.h \
           messages/IamTheWinnerNotification.h \
           messages/LoadGameRequest.h \
           messages/LoadGameResponse.h \
           messages/NewPlayerAddedNotification.h \
           messages/PlayerRemovedNowItsMyTurnNotification.h \
           messages/ReadyToGoNotification.h \
           messages/RegisterRequest.h \
           messages/RegisterResponse.h \
           messages/RemoveMeFromGameRequest.h \
           messages/SaveGameRequest.h \
           messages/SaveGameResponse.h \
           messages/SendChatMessageRequest.h \
           messages/SleepingNotification.h \
           messages/StartCurrentGameRequest.h \
           messages/StartNewGameRequest.h \
           messages/StartNewGameResponse.h \
           messages/YourTurnNotification.h \
           utils/xmlreader.h \
           safe_read.c \
           ui_highscores.h \
	  ui_register.h \
	  ui_ludo.h \
           ui_startscreen.h \
           ludogl/SurfaceGeometry.h
FORMS += highscores.ui ludo.ui register.ui startscreen.ui
SOURCES += gamesettingsdialog.cpp \
           highscoresdialog.cpp \
           LudoGame.cpp \
           LudoPlayer.cpp \
           ludoqt.cpp \
           main.cpp \
           messagehandler.cpp \
           registersettingsdialog.cpp \
           safe_read.c \
           tableitem.cpp \
           tablemodel.cpp \
           window.cpp \
           ludogl/board.cpp \
           ludogl/Dice3D.cpp \
           ludogl/field.cpp \
           ludogl/figure.cpp \
           ludogl/glm.c \
           ludogl/gltx.c \
           ludogl/ludogl.cpp \
           ludogl/player.cpp \
           ludogl/surfaceGeometry.cpp \
           ludogl/trackball.cpp \
           messages/AddMeToGameRequest.cpp \
           messages/AddMeToGameResponse.cpp \
           messages/AddMeToLoadedGameRequest.cpp \
           messages/AddMeToLoadedGameResponse.cpp \
           messages/CurrentGameStartedNotification.cpp \
           messages/CurrentGameStartedPlayerOrderNotification.cpp \
           messages/DiceRolledRequest.cpp \
           messages/DiceRolledResponse.cpp \
           messages/DownloadGamelistRequest.cpp \
           messages/DownloadGamelistResponse.cpp \
           messages/DownloadGamelistResponseGame.cpp \
           messages/DownloadHighscoreListRequest.cpp \
           messages/DownloadHighscoreListResponse.cpp \
           messages/DownloadHighscoreListResponseEntry.cpp \
           messages/DownloadStoredGamesRequest.cpp \
           messages/DownloadStoredGamesResponse.cpp \
           messages/DownloadStoredGamesResponseGame.cpp \
           messages/DoYouWantToSaveRequest.cpp \
           messages/DoYouWantToSaveResponse.cpp \
           messages/EndGameByClientsFaultNotification.cpp \
           messages/EndGameByServerSaveNotification.cpp \
           messages/FigureMovedRequest.cpp \
           messages/FigureMovedResponse.cpp \
           messages/GameActionMessage.cpp \
           messages/GameActionResponse.cpp \
           messages/GiveUpTurnToNextPlayerNotification.cpp \
           messages/IamTheWinnerNotification.cpp \
           messages/LoadGameRequest.cpp \
           messages/LoadGameResponse.cpp \
           messages/NewPlayerAddedNotification.cpp \
           messages/PlayerRemovedNowItsMyTurnNotification.cpp \
           messages/ReadyToGoNotification.cpp \
           messages/RegisterRequest.cpp \
           messages/RegisterResponse.cpp \
           messages/RemoveMeFromGameRequest.cpp \
           messages/SaveGameRequest.cpp \
           messages/SaveGameResponse.cpp \
           messages/SendChatMessageRequest.cpp \
           messages/SleepingNotification.cpp \
           messages/StartCurrentGameRequest.cpp \
           messages/StartNewGameRequest.cpp \
           messages/StartNewGameResponse.cpp \
           messages/YourTurnNotification.cpp \
           utils/xmlreader.cpp

Verfasst: 27. Juni 2006 12:38
von Christian81
MadsMaus hat geschrieben:Hm... das scheint uns etwas weitergebracht zu haben. Nun haben wir nur noch folgende Fehler:

Code: Alles auswählen

./release\Dice3D.o(.text+0xd56):Dice3D.cpp: undefined reference to `_imp__glTexEnvf'
./release\Dice3D.o(.text+0xda4):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0xe7d):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0xf56):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x102f):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x1108):Dice3D.cpp: undefined reference to `_imp__glTexImage2D'
./release\Dice3D.o(.text+0x11e1):Dice3D.cpp: more undefined references to `_imp__glTexImage2D' follow
./release\glm.o(.text+0x3a83):glm.c: undefined reference to `_imp__glMaterialf'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\..\bin\ludoqt.exe] Error 1
mingw32-make[1]: Leaving directory `H:/EBOOKS/Informatik/_STUDIUM/AI/Semester 4/V-Sys/Beleg/svn/Ludo-Qt/LudoQt/src'
mingw32-make: *** [release] Error 2
Ein bischen überelgen bitte! was könnte z.B. glTexEnvf sein? Ich würde mal ganz kühn behaupten eine opengl - Funktion... "config += opengl"

Verfasst: 27. Juni 2006 12:40
von MadsMaus
dann guck dir mal bitte meinen beitrag an, speziel die .pro datei... und was siehst du da hinter config? ja richtig opengl :)

Verfasst: 27. Juni 2006 12:50
von Christian81
*grml* die blöden Backslashes ;)

ist im Linker-Aufruf auch sowas wie '-lopengl32' (oder so ähnlich) zu finden? Poste die am besten mal (am pro-file ist nur die config-Zeile wichtig, der Rest ist total uninteressant und macht es nur unübersichtlich)

Verfasst: 27. Juni 2006 13:16
von MadsMaus
also sieht sehr vollständig aus ^^

Code: Alles auswählen

g++ -c -O2 -O2 -Wall -frtti -fexceptions -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GU
I_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"D:/Programme/Qt/4.1.3/include/QtCore" -I"D:
/Programme/Qt/4.1.3/include/QtNetwork" -I"D:/Programme/Qt/4.1.3/include/QtGui" -I"D:/Programme/Qt/4.1.3/include/QtOpenGL
" -I"D:/Programme/Qt/4.1.3/include" -I"d:\Programme\Qt\4.1.3\include\QtXml" -I"d:\Programme\Qt\4.1.3\include\QtGui" -I"d
:\Programme\Qt\4.1.3\include\Qt" -I"d:\Programme\Qt\4.1.3\include\QtNetwork" -I"d:\Programme\Qt\4.1.3\include\QtCore" -I
"c:\Programme\MinGW\include" -I"d:\Programme\Qt\4.1.3\include\QtOpenGL" -I"D:/Programme/Qt/4.1.3/include/ActiveQt" -I"re
lease" -I"." -I"d:\Programme\Qt\4.1.3\mkspecs\win32-g++" -o release\StartNewGameRequest.o messages\StartNewGameRequest.c
pp

Verfasst: 27. Juni 2006 13:26
von Christian81
Das ist nicht der Linker-Aufruf.
Es ist der letzte Aufruf von gcc vor den Linker-Fehlern.

Hast Du mingw von Hand runtergeladen oder das Trolltech-package benutzt?

Verfasst: 27. Juni 2006 13:38
von MadsMaus
Das war das einzige was ich grad zur Hand hatte :) ich versuch das ganze Geraffel jetzt nochmal bei mir zu compilieren, dann kann ich den aufruf posten.
Bei mir auf dem Laptop ist glaub ich eine mingw-Installation, die direkt von Trolltech runtergeladen wurde... So genau kann ich das jetzt aber nicht sagen, da ich es auch schonmal mit einer anderen Version probiert hatte... Auf alle Fälle kamen die Fehler bei jmd der direkt eine Trolltech version hat.

Die Linker-Fehler kommen gleich, der braucht hier nur immer etwas, bis er damit fertig wird :)

Verfasst: 27. Juni 2006 14:25
von MadsMaus
So ^^ jetzt aber:

Code: Alles auswählen

g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\src2.exe" object_script.src2.Release  -L"c:\Qt\4.1.3\lib" -lopengl32 -lglu32 -lgdi32 -luser32 -lmingw32 -lqtmain -lQtXml4 -lglut -lQtOpenGL4 -lwsock32 -lQtOpenGL4 -lQtGui4 -lQtNetwork4 -lQtCore4

Verfasst: 27. Juni 2006 14:32
von Christian81
Ok, '-lopengl32' ist dabei. Jetzt könnte ich nur noch annehmen, dass die mitgelieferten win32api - libs von MinGW zu alt sind (in der Version die ich habe ist die Referenz auf zumindest die erste Funktion in der Datei libopengl32.a enthalten).

http://prdownloads.sourceforge.net/ming ... z?download runterladen und in das korrekte Verzeichnis entpacken - sollte leicht zu finden sein - einfach nach libopengl32.a suchen.

Danach nochmal schauen ob das Linken klappt.

Verfasst: 27. Juni 2006 14:38
von MadsMaus
So, für alle die das selbe Problem mal haben sollten, hier zumindest ein Ansatz, wie man zumindest einige der Fehler beseitigen kann:

Wenn man in seine Dateien #include <GL/glut.h> einbindet, dann sollte man direkt davor die <windows.h> einbinden :)

Damit habe ich zumindest meine Fehler nochmals minimieren können:

Code: Alles auswählen

g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\src2.exe" object_script.src2.Release  -L"c:\Qt\4.1.3\lib" -lopengl32 -lglu32 -lgdi32 -luser32 -lmingw32 -lqtmain -lQtXml4 -lglut -lQtOpenGL4 -lwsock32 -lQtOpenGL4 -lQtGui4 -lQtNetwork4 -lQtCore4
./release\ludogl.o(.text+0x17):ludogl.cpp: undefined reference to `__glutInitWithExit@12'
./release\ludogl.o(.text+0x33):ludogl.cpp: undefined reference to `__glutCreateWindowWithExit@8'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\src2.exe] Error 1
mingw32-make[1]: Leaving directory `G:/programmierung/ludo_beleg/vsys_ludo/Ludo-Qt/LudoQt/src'
mingw32-make: *** [release] Error 2
ansonsten probiere ich jetzt mal aus, was du mir geraten hast. Danke schonmal für die Hilfe :) es wird

Verfasst: 27. Juni 2006 14:56
von Christian81
Ich glaube die Funktionen gibt es unter win32 nicht... evtl. mal das WithExit weglassen. Komischerweise finde ich die Funktionen nichtmal in irgend einen mingw-Header so dass es eigentlich schon einen Compilierfehler geben sollte... !? Ich habe nichtm al eine glut.dll.

Verfasst: 27. Juni 2006 15:00
von MadsMaus
also wenn man zusätzlich noch #define GLUT_DISABLE_ATEXIT_HACK hinzufügt in der entsprechenden Datei, dann gibts keine Fehler mehr und es ist alles schick... problem ist jetzt folgendes, er führt nichts aus :)

ach is das blöde... ich sollte doch lieber bei Linux bleiben ... aber unser Lehrer macht nix in Linux, da sollten wir das ganze schon unter Windows vorstellen.

Verfasst: 27. Juni 2006 15:04
von Christian81
gdb gibts auch unter windows ;)