Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 8. srpen 2007, 13:14:02 Předmět: Jak kompilovat c++ program bez framework |
|
|
Zdárek,
měl bych na vás dotaz, stáhl jsem si Visual Studio 2008 Beta 2 a chtěl bych ho používat na psaní C++ programů, nechci ale používat framework, protože není na každém pc. Nemáte někdo nějaký návod jak zkompilovat c++ program tak aby nepotřeboval na pc mít nainstalovaný framework. Měl jsem stejný problém i s Vistual Studiem.NET 2005 a 2003 a také se mi nikdy nepovedlo na to přijít. OS mám Win Vista 32b.
Díky |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 8. srpen 2007, 13:39:04 Předmět: |
|
|
Buď je potřeba vytvořit správný projekt - Win32 Console Application nebo Win32 Project, nebo v nastavení projektu na stránce General v položce Common Language Runtime vypnout CLR. To by snad mělo stačit.
V každém případě ale bude muset mít uživatel tvého programu Microsoft C Runtime Library příslušné verze, pro VS 2005 je to msvcrt71.dll.
A možná bude problém ještě jinde _________________ Mám strach |
|
Návrat nahoru |
|
|
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 8. srpen 2007, 13:45:38 Předmět: |
|
|
To vše mám. Mám správný projekt, mám vypnutý clr v Common Language Runtime a společně s exe souborem dodávám i knihovny msvcm90.dll, msvcp90.dll a msvcr90.dll. I přes to vše mi to na jiných windows xp sp2 píše doslova "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem." V aplikaci problém určitě není, testuji to na nejprimitivnější konzolové aplikaci typu hello world! |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 8. srpen 2007, 13:47:48 Předmět: |
|
|
Možná musíš v manifestu aplikace tomu nějak vysvětlit něco (možná kde to najde tu CRT knihovnu nebo tak), teď fakt nevím, setkal jsem se s tím okrajově. Aspoň máš co googlit (případně MSDN Windows Livovat) _________________ Mám strach |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 8. srpen 2007, 13:50:22 Předmět: |
|
|
klapauciusk napsal: |
To vše mám. Mám správný projekt, mám vypnutý clr v Common Language Runtime a společně s exe souborem dodávám i knihovny msvcm90.dll, msvcp90.dll a msvcr90.dll. I přes to vše mi to na jiných windows xp sp2 píše doslova "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem." V aplikaci problém určitě není, testuji to na nejprimitivnější konzolové aplikaci typu hello world! |
u kazdeho VS je redistributable file pro CRT ktery je treba nainstalit - myslim ze tyhle knihovny jsou malo - byl jak u 2003 (7.1) 2005 (8.0) tak urcite bude i u 2008 (9.0) |
|
Návrat nahoru |
|
|
OndraSej
Založen: 28. 07. 2007 Příspěvky: 767 Bydliště: Brandýs nad Labem
|
Zaslal: 8. srpen 2007, 13:52:07 Předmět: |
|
|
Doporucoval bych vyzkouset, co za dll je pro aplikaci potreba. Na to muzes pouzit aplikace typu Dependency Walker (http://www.dependencywalker.com/).
Pokud to nepomuze, je dobre zkontrolovat pritomnost (a spravnost) manifestu, pripadne k aplikaci prikompilovat std knihovnu a CRT napevno (je to nekde v nastaveni projektu/linkeru).
Jinak kdyz hodis tu hlasku do google, tak prvni odkaz je http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=72965&SiteID=1 a rekl bych, ze tam presne resi tvuj problem.
Edit: jinak v tomto pripade nejde o problem s instalaci .NET, ale s nacitanim dll. Takze presunuto do sekce C++. _________________ http://trionteam.net |
|
Návrat nahoru |
|
|
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 8. srpen 2007, 14:12:26 Předmět: |
|
|
Všechny potřebné knihovny jsou importovány přímo u exe souboru (podle programu Dependency Walker). Když na daný systém nainstaluji framework tak to běží, ale to právě nechci. Přeci to musí jít i jinak. Pořád slyším že lidi dělají programy ve Visual Studiu a nepotřebují pak framework. |
|
Návrat nahoru |
|
|
Mnemonic
Založen: 28. 07. 2007 Příspěvky: 93
|
Zaslal: 8. srpen 2007, 15:02:27 Předmět: |
|
|
A kompilujes to jako Release nebo jako Debug? Nevim jak ve VS2008, ale ve VS2005 debug build linkuje runtime pres manifest, coz by odpovidalo ty hlasce o spatne konfiguraci.
Co ti presne ukazuje ten DependencyWalker za zavislosti? |
|
Návrat nahoru |
|
|
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 8. srpen 2007, 15:06:27 Předmět: |
|
|
Když to testuji na jiném pc tak vždy release. Ale zkoušel jsem oboje. |
|
Návrat nahoru |
|
|
(CZ)genius
Založen: 28. 07. 2007 Příspěvky: 85 Bydliště: Neratovice
|
|
Návrat nahoru |
|
|
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 8. srpen 2007, 16:28:48 Předmět: |
|
|
Díky, ozkouším to. |
|
Návrat nahoru |
|
|
MD
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 8. srpen 2007, 16:39:11 Předmět: |
|
|
Tam je zaludne to, ze musis dodat ty runtime knihovny s celym tim adresarem (pokud je nechces instalovat se setupem).
Tedy adresarova struktura musi vypadat nejak takto (samozrejme dodej spravnou verzi):
kód: |
TvojeAplikace.exe
Microsoft.VC80.CRT
Microsoft.VC80.CRT.manifest
msvcm80.dll
... |
_________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 8. srpen 2007, 18:03:40 Předmět: |
|
|
Mel jsem stejnej problem a vedle knihoven msvcr80.dll chybel prave soubor Microsoft.VC80.CRT.manifest _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
kerekes
Založen: 29. 07. 2007 Příspěvky: 57
|
Zaslal: 8. srpen 2007, 22:26:10 Předmět: |
|
|
Skus zmenit v properties/c++/code generation z MDd na MTd (debug) resp z MD na MT (release). |
|
Návrat nahoru |
|
|
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 9. srpen 2007, 08:11:58 Předmět: |
|
|
Já jsem nekopíroval k exe souboru manifest a v tom byl problém. Už to šlape a ani to nemusí být zlášť v adresáři Všem děkuji |
|
Návrat nahoru |
|
|
|