.[ ČeskéHry.cz ].
Visual studio 2008: SDL a C++ bez MSVCR90.dll

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Svestka



Založen: 08. 07. 2010
Příspěvky: 32

PříspěvekZaslal: 9. červenec 2010, 13:23:18    Předmět: Visual studio 2008: SDL a C++ bez MSVCR90.dll Odpovědět s citátem

Zdravím, vyskytl se mi problém, který by měl být zřejmý již z předmětu threadu.

Ve svém projektu využívám SDL včetně OpenGl a chci aby nebylo zapotřebí instalovat dustribuovaný balíček od microsoftu obsahující CLR. Pokud v projektu nastavím runtime library na multi-threaded (což má zapříčinit statické slinkování knihovny do výsledného exe souboru) tak se vyskytnou chyby linkeru ale pokud bych nechal volbu na multi-threaded DLL tak program nebude spustitelný na PC bez onoho balíčku. (Pokud někoho napadá nakopírovat msvcr90.dll přímo k exe souboru tak toto není možné jelikož samotná knihovna má v tomto směru ochranu a musí být vložena pouze z onoho balíčku)

Ještě polopatické vysvětlení toho čeho chci dosáhnout aby nedošlo ke špatnému pochopení. Chci zkompilovat zdroják C++ s využitím knihoven SDL včetně nadstaveb SDL_image a SDL_ttf. Zkompilovaný kód musí být přenositelný na jiné počítače bez nutnosti cokoli doinstalovávat jinými slovy program musí jít spustit pouze s přibalenými knihovnami SDL a OpenGl.

Googlil jsem a bohužel se mi nepodařilo vyřešit můj problém a toto neřeší můj problém: odkaz zde na forum.

Dalším souvisejícím problémem je to, že pokud nechám nastavení runtime library na multi-threaded debug DLL pro debug tak se vyskytne problém při spouštění programu kde se vypíše chyba o chybějícím MSVCR90.dll, proto musím prozatím kompilovat pouze release verzi a ještě s volbou multi-threaded DLL a ani v tomto případě si nevím rady.

Chyby v kódu jsou v tomto ohledu vyloučené jelikož jsem zoušel vytvořit nový projekt s co nejprimitivnější kostrou za použití SDL a problém přetrvával.

Budu vděčný za jakékoliv možnosti řešení.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 9. červenec 2010, 13:44:34    Předmět: Odpovědět s citátem

Zdar,

musel bys mít to SDLko zkompilovaný taky pro Multi-Threaded. Nedělal sem s tim, tak nevím, jestli se takový dá sehnat, nebo jestli k tomu jsou zdrojáky. Pokud jo, zkompiluj si SDL s příšlušnou volbou. Osobně taky používám Multi-threaded a cizím knihovnám se snažím vyhnout. Pokud chci nějakou použít a nepodaří se takto zkompilovat, vykašlu se na ní :-). Až se ti to povede, tak doporučuju nainstalovat Process Explorer a kouknut se, který knihovny to opravdu používá. Ale to možná znáš.

Ještě doplním: knihovny OpenGL se s aplikací nedistribuují (leda bys chtěl třeba nějakou SW implementaci), na PC jsou nainstalovaný s driverem grafický karty.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 9. červenec 2010, 13:50:39    Předmět: Odpovědět s citátem

oprava: ne Process Explorer, ale http://www.dependencywalker.com/ :-)
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 9. červenec 2010, 14:07:33    Předmět: Odpovědět s citátem

SDL je opensource takze skompilovat si to rucne nebude podla mna problem.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Svestka



Založen: 08. 07. 2010
Příspěvky: 32

PříspěvekZaslal: 9. červenec 2010, 18:39:05    Předmět: Odpovědět s citátem

Děkuji za reakce, zkusím se s tím o víkendu poprat, doufám, že nebudou problémy.

]semo[ napsal:
Pokud chci nějakou použít a nepodaří se takto zkompilovat, vykašlu se na ní Smile


Osobně se taky snažím minimalizovat použité knihovny ale jelikož chci tvořit multiplatformně tak moc ani jinou šanci nemám, jelikož psát si vlastní multiplatformní knihovnu je v dnešní době zvlášť pro amatéra hloupost. Ke všemu SDL mi vyhovuje i při práci například s obrázky (SDL_image) kde mi taky přijde zbytečné něco bastlit pro každý formát obrázku.

]semo[ napsal:
Ještě doplním: knihovny OpenGL se s aplikací nedistribuují


Ano to máš samozřejmě pravdu, asi jsem to napsal trochu nejasně, uváděl jsem to pro celistvost ale k samotné distribuci knihoven to nepatřilo (moje chyba).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Svestka



Založen: 08. 07. 2010
Příspěvky: 32

PříspěvekZaslal: 9. červenec 2010, 21:16:18    Předmět: Odpovědět s citátem

Tak jelikož vybyl čas, tak jsem se na to vrhl ještě dnes a i když jsem musel doinstalovat SDK k directX tak potom se mi SDL podařilo zkompilovat a už jede vše tak jak jsem původně chtěl.

Děkuji za navedení myšlenky na zkompilování SDL v příslušném režimu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna