Answer the question
In order to leave comments, you need to log in
SDL Compile error. error LNK2019: Unresolved external symbol reference... How to solve?
Hello, I started learning SDL 2.0 while working in Visual Studio, I got an error while learning
Error:
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_GetError в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_RWFromFile в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_FreeSurface в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_LoadBMP_RW в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_CreateWindow в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_DestroyWindow в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_CreateRenderer в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_CreateTextureFromSurface в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_RenderClear в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_RenderCopy в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_RenderPresent в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_DestroyTexture в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_DestroyRenderer в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_Delay в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _SDL_Init в функции "int __cdecl SDL_main(int,char * * * const)" ([email protected]@[email protected])
#include <iostream>
#include <SDL.h>
using namespace std;
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
cout << "SDL_Init ERROR:" << SDL_GetError() << endl;
return 1;
}
SDL_Window *win = SDL_CreateWindow("Window this is Window", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
if (win == nullptr)
{
cout << "SDL_CreateWindow ERROR: " << SDL_GetError() << endl;
return 1;
}
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (ren == nullptr)
{
cout << "SDL_CreateRenderer ERROR: " << SDL_GetError() << endl;
return 1;
}
SDL_Surface *bmp = SDL_LoadBMP("../Sprites/helloworld.bmp");
if (bmp == nullptr)
{
cout << "SDL_LoadBMP ERROR: " << SDL_GetError() << endl;
return 1;
}
SDL_Texture *tex = SDL_CreateTextureFromSurface(ren, bmp);
SDL_FreeSurface(bmp);
if (tex == nullptr)
{
cout << "SDL_CreateTextureFromSurface ERROR: " << SDL_GetError() << endl;
return 1;
}
SDL_RenderClear(ren);
SDL_RenderCopy(ren, tex, NULL, NULL);
SDL_RenderPresent(ren);
SDL_Delay(2000);
SDL_DestroyTexture(tex);
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
SDL_Quit();
return 0;
}
Answer the question
In order to leave comments, you need to log in
Here there was a problem with bit depths for the library, it is one and for VS it is different.
But it is better to switch to SFML, it is more understandable and convenient.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question