🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

soil linker errors

Started by
6 comments, last by Bobby Oster 11 years, 2 months ago
I'm trying to load textures with soil and my code is compiling fine but throwing errors when linking.

C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| more undefined references to `glGetString@4' follow|
C:\SourceCode\Libraries\SOIL\lib\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `wglGetProcAddress@4'|
||=== Build finished: 7 errors, 0 warnings ===|


I'm using CodeBlocks 10 with gcc on W7. I tried rebuilding the soil.a but it made no difference. What libraries should I link with to make soil work?
Advertisement
Are you linking to -lopengl32 ? Would be nice if you could tell us all the libraries you link to.
Ah right. Not sure how many need to be there still, the base code gets reused a lot, but this is all of them.

libn.png
That seemed really strange to me, as you are linking against all the windows and opengl related libraries, so I tried it in C::B myself and got the same errors.

After struggling with it a while I found the solution: you have to link to SOIL before opengl32!

I didn't know that the order of the libraries matters at all, but that seems to be the proof :) Hope that works for you too!
Awesome, that fixed it. Is there a rule for which order I should link in or is it a bit hit and miss?
Hi folks,

I am using Code::BLocks, too. But actually I don't have a clue how to link SOIL.
I downloaded SOIL here. But still no clue how to link it.

Would be thankfull for any advice.

Greets

plusnoir
I am using Code::BLocks, too. But actually I don't have a clue how to link SOIL.


A general answer can be found here: http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/
Whatever IDE you use, always be sure to know how to add libraries and include directories as this is a crucial skill in programming!

After struggling with it a while I found the solution: you have to link to SOIL before opengl32!

Very helpful - I would have messed around quite a while before doing this. Worked for me too.

This topic is closed to new replies.

Advertisement