[SFML] Linkowanie statyczne
Ostatnio zmodyfikowano 2017-03-11 20:09
sebox Temat założony przez niniejszego użytkownika |
[SFML] Linkowanie statyczne » 2017-03-10 20:58:03 Tak jak w tutorialu dodałem SFML_STATIC do preprocessora w konfiguracji Debug podlinkowałem: sfml - graphics - s - d.lib sfml - window - s - d.lib sfml - system - s - d.lib opengl32.lib freetype.lib jpeg.lib sfml - window - s - d.lib winmm.lib gdi32.lib sfml - audio - s - d.lib openal32.lib flac.lib vorbisenc.lib vorbisfile.lib vorbis.lib ogg.lib sfml - network - s - d.lib ws2_32.lib sfml - system - s - d.lib
a w Release sfml - graphics - s.lib sfml - window - s.lib sfml - system - s.lib opengl32.lib freetype.lib jpeg.lib sfml - window - s.lib winmm.lib gdi32.lib sfml - audio - s.lib openal32.lib flac.lib vorbisenc.lib vorbisfile.lib vorbis.lib ogg.lib sfml - network - s.lib ws2_32.lib sfml - system - s.lib
Program normalnie się kompiluje zwiększa się waga programu, czyli biblioteki się podlinkowały, próbuję włączyć i mam znany błąd "Program client.exe przestał działać." Wydaje mi się, że problem może być w tych zależnościach podlinkowanych, ale tak jest napisane w tutorialu SFMLa. Macie jakieś spostrzeżenia ? |
|
j23 |
» 2017-03-11 11:25:32 Przy statycznym linkowaniu ważna jest wersja kompilatora, na którym została skompilowana biblioteka (dlatego też rzadko tego typu biblioteki są udostępniane przez twórców). Jeśli Twój kompilator ma inną wersję od tego z biblioteki, prawdopodobnie będziesz musiał skompilować SFML na swoim kompilatorze.
P.S. dlaczego niektóre biblioteki dodajesz dwa razy? |
|
Bielan |
» 2017-03-11 15:38:55 1. Zastanów się, czy na pewno chcesz linkować statycznie. 2. Odpal program z konsoli i zobacz, czy nie wypisuje on dodatkowych informacji w komunikacie po wykonaniu. |
|
sebox Temat założony przez niniejszego użytkownika |
» 2017-03-11 18:55:48 Potrzebuję linkować statycznie, bo napisałem grę którą chcę uruchomić na innych komputerach. Przebudowałem już SFMLa ale teraz mam błąd "LNK1181 cannot open input file 'freetype.lib' client" Po przebudowaniu nie utworzył mi się ten plik.
Niektóre biblioteki dodałem 2 razy bo żywcem skopiowałem z tutoriala SFMLa i było napisane, że to nie powinno na nic wpływać. |
|
j23 |
» 2017-03-11 19:16:24 Przecież przy linkowaniu dynamicznym też możesz uruchamiać na innych komputerach. Jedyne co musisz zrobić, to wrzucić do katalogu z programem niezbędne pliki dll.
p.s. jeśli nie ma wpływu, to po co to robić? Takie programistyczne voodoo? |
|
sebox Temat założony przez niniejszego użytkownika |
» 2017-03-11 19:21:05 Wiem, że mogę ale słabo to wygląda. Tak z rozpędu skopiowałem, już poprawiłem. Jeżeli jest możliwość linkowania statycznego, to chociaż do 1 projektu chciałbym to zastosować żeby wiedzieć na przyszłość z czym to się je. |
|
Bielan |
» 2017-03-11 19:32:41 @sebox, Wiem, że mogę ale słabo to wygląda.
|
dlaczego słabo? Tak najczęściej wygląda dystrybucja gier na Windowsach. Dalej pytam: 2. Odpal program z konsoli i zobacz, czy nie wypisuje on dodatkowych informacji w komunikacie po wykonaniu.
|
|
|
j23 |
» 2017-03-11 19:33:50 Czy ściągnąłeś właściwą wersję binarek SFML-a dla Twojego kompilatora? |
|
« 1 » 2 |