Followers 0

# Library linking problem with SDL 2.0

## 2 posts in this topic

I have used CodeBlocks with MinGW to use opengl with SDL 1.2 and I was able to link libraries that are required for MinGW to work with SDL 1.2, these static libraries are mingw32.lib, SDLmain.lib and SDL.lib. However, I just got SDL 2.0 and I having trouble linking libraries with my SDL 2.0 project.

I did the same procedure, I went to Project->Build Options->Linker Settings and added three libraries that are required for SDL 2.0 (I extracted the library files to the MinGW lib folder and the include files to the MinGW include folder, the static lib files are in .a extension and written as libSDLmain.a instead of SDLmain.lib) and add three files under link libraries with names of "libmingw32" "libSDL2main" "libSDL2". In the search directories tab I added the path to the MinGW lib folder where I placed my SDL static library files...

I wrote the code and checked carefully for deprecated and changed function names that are in SDL 2.0...

When I compiled the code, I am getting these errors

obj\Debug\app.o||In function ZN3app9onExecuteEv':|
D:\Programming\SDL OpenGL\app.cpp|19|undefined reference to SDL_PollEvent'|
obj\Debug\appOnInitialize.o||In function ZN3app12onInitializeEv':|
D:\Programming\SDL OpenGL\appOnInitialize.cpp|5|undefined reference to SDL_Init'|
D:\Programming\SDL OpenGL\appOnInitialize.cpp|24|undefined reference to SDL_CreateWindow'|
D:\Programming\SDL OpenGL\appOnInitialize.cpp|27|undefined reference to SDL_GL_CreateContext'|
obj\Debug\appOnRender.o||In function ZN3app8onRenderEv':|
D:\Programming\SDL OpenGL\appOnRender.cpp|15|undefined reference to SDL_GL_SwapWindow'|
C:\Program Files\CodeBlocks\MinGW\lib\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'|
||=== Build finished: 6 errors, 0 warnings (0 minutes, 0 seconds) ===|

I did a lot of google searches but I am not able to configure how to sove this...

I am a noob with configuring compilers and linking and building libraries in C++, can someone please guide me how can I solve this in my CodeBlocks IDE?

Thank you

0

##### Share on other sites

That did it... The only problem here was I was using the wrong bit version of the libraries... I am using a 32 bit compiler with a 32 bit Operating System and I was linking my project with 64 bit libraries and headers...

There are two download folders for SDL 2.0 development files... one is name "x86_64-w64-mingw32" and the other is "i686-w64-mingw32"... I confused the former with 32 bit... however the string had x86 in it so I thought these were the 32 bit files... however I was wrong...I wasted a lot of energy and headache in just discovering this trivial error...

0

## Create an account

Register a new account