Oliveira
Oliveira

Reputation: 43

Setting up SDL2 with Eclipse and MinGW on Windows

I'm trying to create a SDL2 project with Eclipse Kepler and MinGW on Windows. I already added SDL2 libs in MinGW (.a) in C:\MinGW\lib, SDL2 include in MinGW(C:\MinGW\include\SDL2) and I also added in projects properties -> C/C++ general -> paths and symbols -> librairies the following lines in that order :

mingw32
SDL2main
SDL2

Then I put '-mwindows' in MinGW C++ linker at the end of the line "Command line pattern"

I also added -Dmain=SDL_main for the entry point...

But the compiler gives me error :

main.cpp:7: undefined reference to `SDL_CreateWindow'

this is the code :

#include <SDL2/SDL.h>

int main(int, char**)
{
    SDL_Window *pWindow = nullptr;

    pFenetre = SDL_CreateWindow("Test SDL 2.0", 0, 0, 320, 240, SDL_WINDOW_SHOWN);
    if (!pWindow)
    {
        return -1;
    }

    SDL_DestroyWindow(pWindow);

    return 0;
}

And this is the build console :

Info: Internal Builder is used for build
g++ "-LC:\\MinGW\\lib" -o Test.exe main.o -lmingw32 -lSDL2main -lSDL2 -mwindows 
main.o: In function `SDL_main':
C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:7: undefined reference to `SDL_CreateWindow'
C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:13: undefined reference to `SDL_DestroyWindow'
C:\MinGW\lib/libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: erreur: ld a retourné 1 code d'état d'exécution

what's wrong ?

Upvotes: 4

Views: 14504

Answers (1)

greatwolf
greatwolf

Reputation: 20878

Make sure you're using the right version of the library. You can't mix 64-bit import libraries with 32-bit compiler. For the SDL2 library you downloaded(SDL2-devel-2.0.0-mingw.tar.gz) it comes with both 32-bit and 64-bit. i686-w64-mingw32 is 32-bit and x86_64-w64-mingw32 is for 64-bit.

Upvotes: 4

Related Questions