command line input :
g++ sdlm.cpp -IC:\SDL2-2.0.10\include -LC:\SDL2-2.0.10\lib\x64 -lmingw32 -lSDL2main -lSDL2
main file:
#include <iostream>
#include <SDL.h>
using namespace std;
#undef main
bool run=true;
SDL_Surface * image;
SDL_Surface * winsur;
SDL_Event *e ;
SDL_Renderer *ren;
int main(int argc, char* argv[])
{
if(!SDL_Init(SDL_INIT_EVERYTHING))
{
cout<<"working"<<endl;
cout<<SDL_Init(SDL_INIT_EVERYTHING)<<endl;
SDL_Window * win;
SDL_Renderer * ren;
SDL_Surface *sur;
win=SDL_CreateWindow("window",20,20,1280,600,0);
ren=SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
winsur=SDL_GetWindowSurface(win);
if(ren==NULL)
cout<<"failed to render";
SDL_Event *e;
e=new SDL_Event;
bool run=true;
image=SDL_LoadBMP("chessboard.bmp");
if(NULL==image)
{
cout<<"cannot load the surface"<<SDL_GetError()<<endl;
return 0;
}
while(run==true)
{
SDL_PollEvent(e);
if(e->type==SDL_QUIT)
{
break;
}
SDL_BlitSurface(image,NULL,winsur,NULL);
SDL_UpdateWindowSurface(win);
SDL_PumpEvents();
}
cout<<"exited loop";
}
else
{
cout<<"Something is wrong"<<SDL_GetError()<<endl;
cout<<SDL_Init(SDL_INIT_EVERYTHING)<<endl;
}
SDL_FreeSurface(image);
SDL_FreeSurface(winsur);
return 0;
}
I keep getting the Error:-
sdlm.cpp:(.text+0x1f): undefined reference to
SDL_Init
sdlm.cpp:(.text+0x5d): undefined reference toSDL_Init
sdlm.cpp:(.text+0xb2): undefined reference toSDL_CreateWindow
sdlm.cpp:(.text+0xd0): undefined reference toSDL_CreateRenderer
[...]