Niedawno opisałem jak zmusić do współpracy te dwa narzędzia(IDE - MS Visual C++ 2010 Express Edition i biblioteki SDL) zaś w dzisiejszym poście podam konkretne błędy i konkretne rozwiązania.
So...:
Błąd nr.1:
LINK : fatal error LNK1561: entry point must be defined.
Rozwiązanie:
PPM na ikonkę projektu, dalej properties. W oknie dialogowym: Configuration Properties > Linker > System. Jako subsystem wybrać opcję - Windows (/SUBSYSTEM:WINDOWS)
Błąd nr.2:
Nie linkowane dodatkowe biblioteki. Np. SDL.lib lub SDLmain.lib. Dokładne kody błędów na screen'ach:
Rozwiązanie:
Można to zrobić w dwojaki sposób:
So...:
Błąd nr.1:
LINK : fatal error LNK1561: entry point must be defined.
Rozwiązanie:
PPM na ikonkę projektu, dalej properties. W oknie dialogowym: Configuration Properties > Linker > System. Jako subsystem wybrać opcję - Windows (/SUBSYSTEM:WINDOWS)
Błąd nr.2:
Nie linkowane dodatkowe biblioteki. Np. SDL.lib lub SDLmain.lib. Dokładne kody błędów na screen'ach:
Rozwiązanie:
Można to zrobić w dwojaki sposób:
- W ustawieniach projektu przechodzimy do: Configuration Properties > Linker > Command Line. W dodatkowych opcjach dopisujemy potrzebne biblioteki np. "SDL.lib".
- W ustawieniach projektu przechodzimy do: Configuration Properties > Linker > Input. Do pola Additional Dependencies dopisujemy wymagane biblioteki np. SDL.lib;
Błąd nr.3:
fatal error C1083: Cannot open include file: 'SDL.h': No such file or directory.
Rozwiązanie:
W ustawieniach projektu przechodzimy do: Configuration Properties > VC++ Directories. Do pola Include Directories dopisujemy ścieżkę wymaganych plików nagłówkowych. Np. $(VCInstallDir)include\sdl;
Błąd nr.4:
error LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj)
warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
fatal error LNK1169: one or more multiply defined symbols found
Rozwiązanie:
W ustawieniach projektu przechodzimy do: Configuration Properties > C/C++ > Code Generation. Jako Runtime Library wybieramy opcję - Multi-threaded Debug DLL (/MDd).
Nareszcie można zacząć w spokoju programować...
warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
fatal error LNK1169: one or more multiply defined symbols found
Rozwiązanie:
W ustawieniach projektu przechodzimy do: Configuration Properties > C/C++ > Code Generation. Jako Runtime Library wybieramy opcję - Multi-threaded Debug DLL (/MDd).
Nareszcie można zacząć w spokoju programować...
Komentarze
Prześlij komentarz