SDL obsługa okna - Błąd LNK2019
Ostatnio zmodyfikowano 2021-02-26 18:35
superetoille Temat założony przez niniejszego użytkownika |
SDL obsługa okna - Błąd LNK2019 » 2021-02-25 20:03:58 Witam, Od niedawna uczę się programować w SDL2. Niestety jaki kod bym nie napisała czy skopiowała pojawia się prawie zawsze lista tych samych błędów. Korzystam z Visual Studio 2019. Proszę o pomoc bo sama tego nie rozwiążę. Lista błędów poniżej: Błąd LNK2019 nierozpoznany symbol zewnętrzny _main przywołany w funkcji "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) Okno C:\Users\zuza\source\repos\Okno\Okno\MSVCRTD.lib(exe_main.obj) 1 Błąd LNK1120 liczba nierozpoznanych elementów zewnętrznych: 11 Okno C:\Users\zuza\source\repos\Okno\Debug\Okno.exe 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_CreateWindow przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_Delay przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_DestroyWindow przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_FillRect przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_GetError przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_GetWindowSurface przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_Init przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_MapRGB przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_Quit przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny _SDL_UpdateWindowSurface przywołany w funkcji _SDL_main Okno C:\Users\zuza\source\repos\Okno\Okno\main.obj 1
Nie wiem czy to jest problem niedołączonej jakiejś biblioteki. Jeszcze raz proszę o pomoc. strona z której się uczę: https://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php. Kod programu: #include <SDL.h> #include <stdio.h>
const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480;
int main( int argc, char * args[ ] ) { SDL_Window * window = NULL; SDL_Surface * screenSurface = NULL; if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) { printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() ); } else { window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); if( window == NULL ) { printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() ); } else { screenSurface = SDL_GetWindowSurface( window ); SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) ); SDL_UpdateWindowSurface( window ); SDL_Delay( 5000 ); } } SDL_DestroyWindow( window ); SDL_Quit(); return 0; }
|
|
pekfos |
» 2021-02-25 20:09:36 |
|
superetoille Temat założony przez niniejszego użytkownika |
» 2021-02-26 04:58:31 Nie rozumiem po co mam dodawać kolejną bibliotekę. Ja chcę pracować z SDL. Po dodaniu dalej występują te same błędy. |
|
DejaVu |
» 2021-02-26 09:41:53 Nie czytasz ze zrozumieniem. Na przykładzie innej biblioteki masz opisane jak się rozwiązuje błędy linkera, które masz w SDL-u. |
|
superetoille Temat założony przez niniejszego użytkownika |
» 2021-02-26 12:19:02 Ale ja już na początku dodałam SDL2.lib i SDL2main.lib do linkera. Czy oprócz nich trzeba jeszcze coś dodać?
|
|
pekfos |
» 2021-02-26 13:17:00 Objawy są takie, jakby to nie było zrobione. Jesteś pewna że zrobiłaś to dla właściwej konfiguracji? Pole 1 na obrazku. Upewnij się też że podajesz nam wszystkie błędy z zakładki Output (niestety Visual po polsku jest tu barierą językową).  |
|
superetoille Temat założony przez niniejszego użytkownika |
» 2021-02-26 16:17:12 Skorzystałam z Menedżera konfiguracji i pozbyłam się większości błędów. Pozostały jeszcze dwa:
Ostrzeżenie C26812 Typ wyliczeniowy „SDL_bool” nie ma zakresu. Preferowany jest element „enum class” zamiast „enum” (enum.3). Project7 C:\Development\SDL2\include\SDL_rect.h 102 Błąd LNK1120 liczba nierozpoznanych elementów zewnętrznych: 1 Project7 C:\Users\zuza\source\repos\Project7\x64\Debug\Project7.exe 1 Błąd LNK2019 nierozpoznany symbol zewnętrzny __imp_CommandLineToArgvW przywołany w funkcji main_getcmdline Project7 C:\Users\zuza\source\repos\Project7\Project7\SDL2main.lib(SDL_windows_main.obj) 1
|
|
pekfos |
» 2021-02-26 18:21:30 Błąd LNK2019 nierozpoznany symbol zewnętrzny __imp_CommandLineToArgvW przywołany w funkcji main_getcmdline Dopisz do linkera Shell32.lib. |
|
« 1 » 2 |