Sign in to follow this  
yonni

OpenGL not working in Dev-C++

Recommended Posts

I Downloaded this first tutorial for OpenGL from nehe.gamedev.net (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 to be precise). I downloaded the version for Dev-C++, opened it, and after attempting to compile the compier gave me:
Quote:
C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x38):lesson1.cpp: undefined reference to `glViewport@16' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x45):lesson1.cpp: undefined reference to `glMatrixMode@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x4d):lesson1.cpp: undefined reference to `glLoadIdentity@0' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x84):lesson1.cpp: undefined reference to `gluPerspective@32' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x91):lesson1.cpp: undefined reference to `glMatrixMode@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x99):lesson1.cpp: undefined reference to `glLoadIdentity@0' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0xb7):lesson1.cpp: undefined reference to `glShadeModel@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0xd1):lesson1.cpp: undefined reference to `glClearColor@16' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0xe0):lesson1.cpp: undefined reference to `glClearDepth@8' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0xf0):lesson1.cpp: undefined reference to `glEnable@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x100):lesson1.cpp: undefined reference to `glDepthFunc@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x115):lesson1.cpp: undefined reference to `glHint@8' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x13b):lesson1.cpp: undefined reference to `glClear@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x143):lesson1.cpp: undefined reference to `glLoadIdentity@0' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x258):lesson1.cpp: undefined reference to `wglMakeCurrent@8' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x282):lesson1.cpp: undefined reference to `wglDeleteContext@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x8ce):lesson1.cpp: undefined reference to `wglCreateContext@4' C:\DOCUME~1\JOHN-M~1\LOCALS~1\Temp\cc0mcaaa.o(.text+0x914):lesson1.cpp: undefined reference to `wglMakeCurrent@8'
Am I going have to define all of those myself? If so, how? And if not, what's wrong?

Share this post


Link to post
Share on other sites
Yep, that'll fix it. Took me ages to figure that one out. Just in case there are others with the same problem, in DevCpp the linker commands need to be put into the ProjectOptions->Parameters->Linker box.

Share this post


Link to post
Share on other sites
Well, I have one more problem with Dev-C++. I'm trying and compile a simple example using buffers. THe problem is that the compiler doesn't find a definition for library functions glGenBuffers(), glBufferData() and for constants GL_ARRAY_BUFFER and GL_STATIC_DRAW.

my include section is

#include <windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glext.h>
#include <gl/glut.h>

These functions are referenced starting from openGL 1.5... Help!

Share this post


Link to post
Share on other sites
@sirbone72 - I think you need to load these as extensions. Not 100% sure on how to do this off the top of my head, but the headers are usually only for OpenGL 1.1 not 1.5. So anything else you need to load as an extension. I think there are libraries for this called GLEW and GLee.

One thing you need to remember about DevC++ is that DevC++ is not actually a compiler but an IDE for the GCC/MinGW complier so the command line syntax for is the same as for GCC. If you look at man pages and doc for GCC you'll find out how these work.

Share this post


Link to post
Share on other sites
@sirbone72: You could try a different linking-sequence, however I'm not sure that will solve this problem. Also: are you sure your library-files are updated?

for example, I get reference errors if I use this:
-lSDL
-lSDLmain

it has to be
-lSDLmain
-lSDL

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