Sign in to follow this  
Followers 0
uzipaz

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 this post


Link to post
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...

 

Thank you for the link...

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0