Schnelle objektorientierte, kompilierende Programmiersprache.
-
nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
Beitrag
von nufan » Di Aug 05, 2014 10:22 pm
Architekt hat geschrieben:d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/libmingw32.a(main.
o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
https://wiki.libsdl.org/FAQWindows#I_ge ... 4016.27.22
Architekt hat geschrieben:Kann mir jemand erklären was dieser Fehler konkret bedeutet?
Ich hab etwas den Überblick über deinen Code und deine Änderungen verloren. Kannst du das ganze vielleicht in ein Zip packen und hochladen?
-
nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
Beitrag
von nufan » Di Aug 05, 2014 11:55 pm
Das ist auf jeden Fall mal nicht gut:
Code: Alles auswählen
#-lopengl32 -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lglew32
LIB_FLAGS = -lSGL
Wie siehts damit aus?
Code: Alles auswählen
LIB_FLAGS = -lSGL -lopengl32 -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lglew32
Bzw. wohl noch besser:
Code: Alles auswählen
LIB_FLAGS = -lmingw32 -lSDLmain -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lopengl32 -lglew32 -lSGL -mwindows
-
Architekt
- Beiträge: 172
- Registriert: Sa Mai 24, 2014 12:04 pm
Beitrag
von Architekt » Mi Aug 06, 2014 12:13 am
Das hab ich extra auskommentiert, um zu testen, wieso er nichtmal mit der SGL.a klar kommt. Denn obwohl ich die SGL.a linke, findet er keine Referenzen darauf.
edit:
Hier in was es resultiert:
C:\Users\Besitzer\AppData\Local\Temp\cc8wUwCd.o:main.cpp:(.text+0x0): multiple d
efinition of `main'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/libmingw32.a(main.
o):e:\p\giaw\src\pkg\mingwrt-4.0.3-1-mingw32-src\bld/../mingwrt-4.0.3-1-mingw32-
src/src/libcrt/crt/main.c:42: first defined here
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/libmingw32.a(main.
o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
C:\Users\Besitzer\AppData\Local\Temp\cc8wUwCd.o:main.cpp:(.text+0x60): undefined
reference to `sgl::Window::Window(unsigned short, unsigned short, std::string c
onst&, sgl::Window::Flags)'
C:\Users\Besitzer\AppData\Local\Temp\cc8wUwCd.o:main.cpp:(.text+0x86): undefined
reference to `sgl::Window::~Window()'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\B
esitzer\AppData\Local\Temp\cc8wUwCd.o: bad reloc address 0x0 in section `.ctors'
collect2.exe: error: ld returned 1 exit status
make: *** [compile] Error 1
Durch -lmingw32 und -lSDL2main hat er nun mehrere main Funktionen.
-
nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
Beitrag
von nufan » Mi Aug 06, 2014 12:34 am
-
Architekt
- Beiträge: 172
- Registriert: Sa Mai 24, 2014 12:04 pm
Beitrag
von Architekt » Mi Aug 06, 2014 7:50 am
Jap. Dafür muss ich diesen Abschnitt so ändern:
Code: Alles auswählen
compile:
$(CC) $(CFLAGS) -o main.exe main.cpp $(LIB_PATH) $(LIB_FLAGS) $(INCLUDE_PATH)
Und erhalte als Ausgabe:
$ make -f test
g++ -std=c++0x -Wall -o main.exe main.cpp -LC:\Users\Besitzer\Documents\SGL\libs
\lib -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lopengl32 -lglew32 -lSGL -mwin
dows -IC:\Users\Besitzer\Documents\SGL\libs\SDL2\x86_64-w64-mingw32\include\SDL2
-IC:\Users\Besitzer\Documents\SGL\libs\SDL2_image\x86_64-w64-mingw32\include\SD
L2 -IC:\Users\Besitzer\Documents\SGL\libs\SDL2_mixer\x86_64-w64-mingw32\include\
SDL2 -IC:\Users\Besitzer\Documents\SGL\libs\SDL2_ttf\x86_64-w64-mingw32\include\
SDL2 -IC:\Users\Besitzer\Documents\SGL\include -IC:\Users\Besitzer\Documents\SGL
\libs\glew\include
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
e): undefined reference to `SDL_WasInit'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
23): undefined reference to `SDL_Init'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
3c): undefined reference to `SDL_Quit'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
50): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5f): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6e): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
7d): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
8c): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9b): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
aa): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b9): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
c8): undefined reference to `glCullFace@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
d7): undefined reference to `glShadeModel@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
ee): undefined reference to `glPolygonMode@8'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
fd): undefined reference to `glEnableClientState@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
10c): undefined reference to `glEnableClientState@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
123): undefined reference to `glHint@8'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
13a): undefined reference to `SDL_GL_SetAttribute'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
14e): undefined reference to `SDL_GL_SetAttribute'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
153): undefined reference to `_imp__glewInit@0'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
29a): undefined reference to `SDL_CreateWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
2af): undefined reference to `SDL_GetError'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
2fc): undefined reference to `SDL_GL_CreateContext'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
311): undefined reference to `SDL_GetError'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
35c): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
36e): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
380): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
475): undefined reference to `SDL_DestroyWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
483): undefined reference to `SDL_GL_DeleteContext'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
4c5): undefined reference to `glMatrixMode@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
4d6): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
519): undefined reference to `glClearColor@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
543): undefined reference to `glClear@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
56b): undefined reference to `SDL_HideWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
57b): undefined reference to `SDL_ShowWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
59a): undefined reference to `SDL_EnableScreenSaver'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5a1): undefined reference to `SDL_DisableScreenSaver'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5bd): undefined reference to `SDL_MaximizeWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5d7): undefined reference to `SDL_MinimizeWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5f1): undefined reference to `SDL_RestoreWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
60b): undefined reference to `SDL_RaiseWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
644): undefined reference to `SDL_SetWindowFullscreen'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
67a): undefined reference to `SDL_SetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6b3): undefined reference to `SDL_SetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6ea): undefined reference to `SDL_SetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
714): undefined reference to `SDL_SetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
73d): undefined reference to `SDL_GetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
793): undefined reference to `SDL_GetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
7af): undefined reference to `SDL_GetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
81d): undefined reference to `SDL_SetWindowTitle'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
83a): undefined reference to `SDL_GetWindowTitle'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
8fb): undefined reference to `glTexCoordPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
916): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
951): undefined reference to `glColorPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
98b): undefined reference to `glVertexPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9a9): undefined reference to `glDrawArrays@12'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9b7): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
aa5): undefined reference to `glTexCoordPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
ad6): undefined reference to `glVertexPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
af4): undefined reference to `glDrawArrays@12'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b02): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b37): undefined reference to `SDL_GL_SwapWindow'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\B
esitzer\Documents\SGL\libs\lib/libSGL.a(Window.o): bad reloc address 0x1b in sec
tion `.text$printf[_printf]'
collect2.exe: error: ld returned 1 exit status
make: *** [compile] Error 1
-
Architekt
- Beiträge: 172
- Registriert: Sa Mai 24, 2014 12:04 pm
Beitrag
von Architekt » Mi Aug 06, 2014 3:07 pm
Wenn ich die $(LIB_FLAGS) vor oder nach $(CFLAGS) packe:
Code: Alles auswählen
$(CC) $(LIB_FLAGS) $(CFLAGS) -o main.exe main.cpp $(LIB_PATH) $(INCLUDE_PATH)
Erhalte ich wieder diese Ausgabe:
C:\Users\Besitzer\AppData\Local\Temp\cciuhDNe.o:main.cpp:(.text+0x60): undefined
reference to `sgl::Window::Window(unsigned short, unsigned short, std::string c
onst&, sgl::Window::Flags)'
C:\Users\Besitzer\AppData\Local\Temp\cciuhDNe.o:main.cpp:(.text+0x86): undefined
reference to `sgl::Window::~Window()'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\B
esitzer\AppData\Local\Temp\cciuhDNe.o: bad reloc address 0x0 in section `.ctors'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link
failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
make: *** [compile] Error 1
Es wurden also alle SDL und OpenGL Referenzen gefunden. Aber nicht meine eigenen. Warum nicht?
-
nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
Beitrag
von nufan » Mi Aug 06, 2014 3:26 pm
Gib mal nur deine eigene Lib ans Ende und lass den Rest (SDL, OpenGl) vor der main.cpp.
-
Architekt
- Beiträge: 172
- Registriert: Sa Mai 24, 2014 12:04 pm
Beitrag
von Architekt » Mi Aug 06, 2014 3:38 pm
Du meinst so?
Code: Alles auswählen
$(CC) -c main.cpp $(CFLAGS) $(INCLUDE_PATH)
$(CC) $(LIB_FLAGS) -o main.exe main.o $(CFLAGS) $(LIB_PATH) -lSGL
mit
Code: Alles auswählen
LIB_PATH = -LC:\Users\Besitzer\Documents\SGL\libs\lib
LIB_FLAGS = -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lopengl32 -lglew32 -mwindows
Das führt auch wieder zum Ergebnis:
$ make -f test
g++ -c main.cpp -std=c++0x -Wall -IC:\Users\Besitzer\Documents\SGL\libs\SDL2\x86
_64-w64-mingw32\include\SDL2 -IC:\Users\Besitzer\Documents\SGL\libs\SDL2_image\x
86_64-w64-mingw32\include\SDL2 -IC:\Users\Besitzer\Documents\SGL\libs\SDL2_mixer
\x86_64-w64-mingw32\include\SDL2 -IC:\Users\Besitzer\Documents\SGL\libs\SDL2_ttf
\x86_64-w64-mingw32\include\SDL2 -IC:\Users\Besitzer\Documents\SGL\include -IC:\
Users\Besitzer\Documents\SGL\libs\glew\include
g++ -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lopengl32 -lglew32 -mwindows -
o main.exe main.o -std=c++0x -Wall -LC:\Users\Besitzer\Documents\SGL\libs\lib -l
SGL
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
e): undefined reference to `SDL_WasInit'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
23): undefined reference to `SDL_Init'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
3c): undefined reference to `SDL_Quit'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
50): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5f): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6e): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
7d): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
8c): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9b): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
aa): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b9): undefined reference to `glEnable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
c8): undefined reference to `glCullFace@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
d7): undefined reference to `glShadeModel@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
ee): undefined reference to `glPolygonMode@8'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
fd): undefined reference to `glEnableClientState@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
10c): undefined reference to `glEnableClientState@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
123): undefined reference to `glHint@8'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
13a): undefined reference to `SDL_GL_SetAttribute'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
14e): undefined reference to `SDL_GL_SetAttribute'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
153): undefined reference to `_imp__glewInit@0'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
29a): undefined reference to `SDL_CreateWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
2af): undefined reference to `SDL_GetError'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
2fc): undefined reference to `SDL_GL_CreateContext'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
311): undefined reference to `SDL_GetError'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
35c): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
36e): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
380): undefined reference to `glGetString@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
475): undefined reference to `SDL_DestroyWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
483): undefined reference to `SDL_GL_DeleteContext'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
4c5): undefined reference to `glMatrixMode@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
4d6): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
519): undefined reference to `glClearColor@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
543): undefined reference to `glClear@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
56b): undefined reference to `SDL_HideWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
57b): undefined reference to `SDL_ShowWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
59a): undefined reference to `SDL_EnableScreenSaver'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5a1): undefined reference to `SDL_DisableScreenSaver'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5bd): undefined reference to `SDL_MaximizeWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5d7): undefined reference to `SDL_MinimizeWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
5f1): undefined reference to `SDL_RestoreWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
60b): undefined reference to `SDL_RaiseWindow'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
644): undefined reference to `SDL_SetWindowFullscreen'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
67a): undefined reference to `SDL_SetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6b3): undefined reference to `SDL_SetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
6ea): undefined reference to `SDL_SetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
714): undefined reference to `SDL_SetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
73d): undefined reference to `SDL_GetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
793): undefined reference to `SDL_GetWindowPosition'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
7af): undefined reference to `SDL_GetWindowSize'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
81d): undefined reference to `SDL_SetWindowTitle'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
83a): undefined reference to `SDL_GetWindowTitle'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
8fb): undefined reference to `glTexCoordPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
916): undefined reference to `glDisable@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
951): undefined reference to `glColorPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
98b): undefined reference to `glVertexPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9a9): undefined reference to `glDrawArrays@12'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
9b7): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
aa5): undefined reference to `glTexCoordPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
ad6): undefined reference to `glVertexPointer@16'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
af4): undefined reference to `glDrawArrays@12'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b02): undefined reference to `glLoadMatrixf@4'
C:\Users\Besitzer\Documents\SGL\libs\lib/libSGL.a(Window.o):Window.cpp:(.text+0x
b37): undefined reference to `SDL_GL_SwapWindow'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\B
esitzer\Documents\SGL\libs\lib/libSGL.a(Window.o): bad reloc address 0x1b in sec
tion `.text$printf[_printf]'
collect2.exe: error: ld returned 1 exit status
make: *** [compile] Error 1
-
Architekt
- Beiträge: 172
- Registriert: Sa Mai 24, 2014 12:04 pm
Beitrag
von Architekt » Mi Aug 06, 2014 3:39 pm
Hier btw nochmal meine beiden makefiles.
SGL:
http://codepad.org/c3xxobWq
test:
http://codepad.org/lcvZBFjc
Mir fällt nichts auf, was falsch sein könnte.
edit:
Und was mir gerade komisches auffällt.
Das hier (ohne -lSGL):
Code: Alles auswählen
$(CC) -o main.exe main.o $(CFLAGS) $(LIB_PATH) $(LIB_FLAGS)
Produziert diese kurze Fehlermeldung:
main.o:main.cpp:(.text+0x60): undefined reference to `sgl::Window::Window(unsign
ed short, unsigned short, std::string const&, sgl::Window::Flags)'
main.o:main.cpp:(.text+0x86): undefined reference to `sgl::Window::~Window()'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: main.o: ba
d reloc address 0x0 in section `.ctors'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link
failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
make: *** [compile] Error 1
Aber gebe ich -lSGL mit an, bekomme ich diese ganzen undefinierten Referenzen, wie in zwie Post zuvor angegeben. Das ist doch seltsam, oder?