[Allegro 5] statyczne linkowanie
Ostatnio zmodyfikowano 2013-07-29 16:44
aaadam Temat założony przez niniejszego użytkownika |
[Allegro 5] statyczne linkowanie » 2013-07-28 10:33:45 Witem, że były tematy tego typu ale nie mogę sobie poradzić tutaj niby wszystko jest opisane ale nie chce mi działać http://wiki.allegro.cc/index.php?title=Windows%2C_Visual_Studio_2010_and_Allegro_5
1.dodałem na początku pliku main.c #define ALLEGRO_STATICLINK
2. tutaj Configuration Properties->Linker->Input:dodałem te biblioteki
allegro-5.0.8-monolith-md-debug.lib
dumb-0.9.3-static-mt.lib
freetype-2.4.8-static-mt.lib
libFLAC-1.2.1-static-mt.lib
libogg-1.2.1-static-mt.lib
libvorbis-1.3.2-static-mt.lib
libvorbisfile-1.3.2-static-mt.lib
openal-1.14-static-mt.lib
zlib-1.2.5-static-mt.lib
winmm.lib
opengl32.lib
gdiplus.lib
psapi.lib
shlwapi.lib
3.On the Configuration Properties->Linker->Input dialog box, leave the "inherit from parent or project defaults" option checked. tego nie mam o opcjach
4.In Configuration Properties->C/C++->Code Generation->Runtime Library, set that to "/MT" (or "/MTd" for the Debug configuration). to zrobiłem
5.In Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions, add ALLEGRO_STATICLINK to the list. to też
potem stworzyłem nowy katalog skopiowałem pliki z katalogu relase + sprajty dodatkowo skopiowałem 4 dllki: allegro-5.0.8-monolith-md.dll,msvcr100.dll,msvcp100d.dll,msvcp100.dll
niestety nie działa mi dalej proszę o pomoc.A mam oryginalne vs 2010 premium |
|
pekfos |
» 2013-07-28 12:36:55 |
|
aaadam Temat założony przez niniejszego użytkownika |
» 2013-07-28 17:43:59 wyskakuje okienko : program gra2.exe przestał działać natomiast jak uruchomie w visualu jako relase to dziala |
|
jankowalski25 |
» 2013-07-29 09:20:33 Spróbuj użyć debuggera (i wklej wynik jego działania). |
|
Admixior |
» 2013-07-29 10:23:19 Problemem może być wszystko niżej przedstawiam moje widzimisie |
Zrobiłeś punkt 4 ale (być może) źle. Gdyż iż go nie zrozumiałeś. Miałeś ustawić MT dla release i MTd dla debug. OK. może i tak masz, Ale (być może) nie zauważasz że np. w większości bibliotek masz MT (zauważ to coś po pauzie) wyklucza to użycie opcji MTd więc debug nie działa. Dalej jeszcze nie wiem jak to koliduje z allegro gdyż ono ma MDd (MD dla debugera). Po prostu musisz uważać które libki linkujesz. Czym się różni MT/MTd/MD/MDd: MT (Multi-threaded) -> biblioteki statycznie linkowane (to jest: nigdy ci nie wyjdzie (chyba że masz system antyk, że brakuje jakiejś biblioteki dll (w szczególności "msvcr100.dll,msvcp100d.dll,msvcp100.dll" gdyby nie było na innym kompie. (nie musisz ich ciągnąć za exe-kiem) Wada: plik będzie więcej ważył)
MTd (Multi-threaded debug) -> To co wyżej tylko ułatwia prace debuggerowi(i debugerowaczowi)
MD (Multi-threaded DLL)-> biblioteki dynamicznie linkowane) potrzebujesz zainstalowanego na kompie "MSVC Redistributable Package" (normalnie się instaluje przy visualu, ale na innych kompach może nie być) Zaleta exe-k Waży mniej
MDd (Multi-threaded DLL debug)-> To co wyżej tylko ułatwia prace debuggerowi(i debugerowaczowi)
|
Dodam że jeżeli allegro jest linkowane dynamicznie to wydaje mi się że nie powinno być problemów (ale tego nie jestem pewien), ale linkowanie statyczne MTd(w linkerze) i MT(libek) wg. mnie powinno walić błędy linkera. //edit: czytam jeszcze raz i widze że ustawiłeś "ALLEGRO_STATICLINK " pomimo że używasz wersji md allegro. Coś mi tu nie gra. //edit2: skoro taszczysz za exekiem dllki to co to mi za statyczne linkowanie: "sprajty dodatkowo skopiowałem 4 dllki: allegro-5.0.8-monolith-md.dll,msvcr100.dll,msvcp100d.dll,msvcp100.dll" |
|
Gabes |
» 2013-07-29 16:44:22 W tym temacie miałeś wszystko podaneDodam tylko gdybyś nie mógł zrozumieć, prefiks, przyrostek, rozszerzenie czy jakkolwiek to sobie nazwiemy -md to nie tryb -debug. Dałeś rozszerzenie -monolith (czcionka,tekst,audio w jednym) ok, dalej raz -md pozostałe -mt albo jedno albo drugie. Co do plików redystrybucyjnych dodaj je najpierw do zwykłego konsolowego "Hello world!". Statyczny plik wykonywalny exe dla allegro5 wcale nie będzie taki malutki, samo okno ok 700 KB, czcionka ttf plus ok 400 KB, audio 400 KB, bitmapy kolejne kilobajty w Allegro5.0.10 to już 2.2MB (bez kompresji). Tytuł tematu taki ogólny czyli może dotyczyć także linkowania statycznego w Code::Blocks, przykład |
|
« 1 » |