Nicht link zu SDL2-Funktionen, die mit MinGW

Ich bin relativ neu in der Programmierung und ich habe beschlossen, SDL versuchen, aber ich bin ein bisschen stecken. Ich habe nicht in der Lage zu bauen, das Projekt in codeblocks und ich bekomme 'undefined reference' für alle SDL Funktionen. Ich habe gesehen, dass viele ähnliche Fragen hier, aber keine der Lösungen scheint zu helfen. Hab ich schon Hinzugefügt, die \include\SDL2 und das \lib-Ordner durchsuchen von Verzeichnissen, die ich Hinzugefügt habe, SDL2Main und SDL2 zu link-Bibliotheken in den linker-Optionen, ich habe auch Hinzugefügt -mwindows zu anderen linker-Optionen. Auch habe ich versucht die Verlinkung gegen die 64-bit-version als gut, aber die Dinge wurden noch schlimmer.

Hier ist mein Quellcode, ziemlich viel kopiert, gerade aus dem tutorial habe ich angefangen:

#include <SDL.h>
SDL_Window* g_pWindow = 0;
SDL_Renderer* g_pRenderer = 0;
int main(int argc, char* args[])
    {
        //initialize SDL
    if(SDL_Init(SDL_INIT_EVERYTHING) >= 0)
    {
    //if succeeded create our window
        g_pWindow = SDL_CreateWindow("Chapter 1: Setting up SDL",
        SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        640, 480,
        SDL_WINDOW_SHOWN);
        //if the window creation succeeded create our renderer
        if(g_pWindow != 0)
        {
            g_pRenderer = SDL_CreateRenderer(g_pWindow, -1, 0);
        }
    }
    else
    {
        return 1; //sdl could not initialize
    }
    //everything succeeded lets draw the window
    //set to black //This function expects Red, Green, Blue and
    //Alpha as color values
    SDL_SetRenderDrawColor(g_pRenderer, 0, 0, 0, 255);
    //clear the window to black
    SDL_RenderClear(g_pRenderer);
    //show the window
    SDL_RenderPresent(g_pRenderer);
    //set a delay before quitting
    SDL_Delay(5000);
    //clean up SDL
    SDL_Quit();
        return 0;
}

Und hier ist der build-log:

mingw32-g++.exe -LC:\dev\sdl\SDL2-2.0.1\x86_64-w64-mingw32\lib  -o bin\Debug\GeometryProject.exe obj\Debug\main.o   -mwindows  C:\MinGW\lib\libmingw32.a C:\dev\sdl\SDL2-2.0.1\x86_64-w64-mingw32\lib\libSDL2main.a C:\dev\sdl\SDL2-2.0.1\x86_64-w64-mingw32\lib\libSDL2.a 
obj\Debug\main.o: In function `SDL_main':
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:7: undefined reference to `SDL_Init'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:13: undefined reference to `SDL_CreateWindow'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:17: undefined reference to `SDL_CreateRenderer'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:27: undefined reference to `SDL_SetRenderDrawColor'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:29: undefined reference to `SDL_RenderClear'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:31: undefined reference to `SDL_RenderPresent'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:33: undefined reference to `SDL_Delay'
C:/Users/Kris948/Desktop/ProjectsUni/GeometryProject/main.cpp:35: undefined reference to `SDL_Quit'
C:\MinGW\lib\libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
9 errors, 0 warnings (0 minutes, 0 seconds)

Gibt es etwas, was ich versuchen könnte? Ich würde wirklich gerne diese Ausführung zu erhalten, und wäre für jede Hilfe dankbar.

InformationsquelleAutor user3052572 | 2013-11-30
Schreibe einen Kommentar