SDL_Main or WinMain@16 error

M

Michael Sgier

Hi
While trying to compile the follwoing example with devC++
I get errors:

D:\SDL-1.2.7MingW\lib\libSDLmain.a(SDL_win32_main.o.b)
(.text+0x34b)
[Warning] In function `console_main':
[Linker error] undefined reference to `SDL_SetModuleHandle'
[Linker error] undefined reference to `SDL_main'
If I delete the SDL linker I get undefined reference to
WinMain@16
Thanks for help. Regards
Michael
PS: The links to sdl etc. should be fine tough.



/* Example of OpenGL rendering through SDL. */

#include <SDL/SDL.h>
#include <GL/gl.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{

/* Initialize SDL as usual. */
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
printf("Error: %s\n", SDL_GetError());
return 1;
}

atexit(SDL_Quit);

/* Enable OpenGL double buffering. */
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

/* Set the color depth (16-bit 565). */
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 6);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);

/* Create a 640x480, 16 bit window with support for
OpenGL rendering. Unfortunately we won't know
whether this is hardware accelerated. */
if (SDL_SetVideoMode(640, 480, 16, SDL_OPENGL) == NULL) {
printf("Error: %s\n", SDL_GetError());
return 1;
}

/* Set a window title. */
SDL_WM_SetCaption("OpenGL with SDL!", "OpenGL");

/* We can now use any OpenGL rendering commands. */
glViewport(80, 0, 480, 480);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 100.0);
glClearColor(0, 0, 0, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1.0, 0, 0);
glVertex3f(0.0, 1.0, -2.0);
glColor3f(0, 1.0, 0);
glVertex3f(1.0, -1.0, -2.0);
glColor3f(0, 0, 1.0);
glVertex3f(-1.0, -1.0, -2.0);
glEnd();
glFlush();

/* Display the back buffer to the screen. */
SDL_GL_SwapBuffers();

/* Wait a few seconds. */
SDL_Delay(5000);

return 0;
}
 
R

Roger C

Michael Sgier said:
Hi
While trying to compile the follwoing example with devC++
I get errors:

D:\SDL-1.2.7MingW\lib\libSDLmain.a(SDL_win32_main.o.b)
(.text+0x34b)
[Warning] In function `console_main':
[Linker error] undefined reference to `SDL_SetModuleHandle'
[Linker error] undefined reference to `SDL_main'
If I delete the SDL linker I get undefined reference to
WinMain@16
Thanks for help. Regards
Michael
PS: The links to sdl etc. should be fine tough.

Try including windows.h before any other headers and replace "int main()"
with "int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR
lpCmdLine, uint nCmdShow )"
 
C

Christopher Benson-Manica

Michael Sgier said:
While trying to compile the follwoing example with devC++
I get errors:
D:\SDL-1.2.7MingW\lib\libSDLmain.a(SDL_win32_main.o.b)
(.text+0x34b)
[Warning] In function `console_main':
[Linker error] undefined reference to `SDL_SetModuleHandle'
[Linker error] undefined reference to `SDL_main'
If I delete the SDL linker I get undefined reference to
WinMain@16
Thanks for help. Regards
Michael
PS: The links to sdl etc. should be fine tough.

Your post is off-topic for comp.lang.c++. Please visit

http://www.slack.net/~shiva/welcome.txt
http://www.parashift.com/c++-faq-lite/

for posting guidelines and frequently asked questions. Thank you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,234
Latest member
SkyeWeems

Latest Threads

Top