.[ ČeskéHry.cz ].
Jak kompilovat c++ program bez framework

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



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 8. srpen 2007, 13:14:02    Předmět: Jak kompilovat c++ program bez framework Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 8. srpen 2007, 13:39:04    Předmět: Odpovědět s citátem

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 Smile
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 8. srpen 2007, 13:45:38    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 8. srpen 2007, 13:47:48    Předmět: Odpovědět s citátem

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) Smile
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 8. srpen 2007, 13:50:22    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 8. srpen 2007, 13:52:07    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 8. srpen 2007, 14:12:26    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



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

PříspěvekZaslal: 8. srpen 2007, 15:02:27    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 8. srpen 2007, 15:06:27    Předmět: Odpovědět s citátem

Když to testuji na jiném pc tak vždy release. Ale zkoušel jsem oboje.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
(CZ)genius



Založen: 28. 07. 2007
Příspěvky: 85
Bydliště: Neratovice

PříspěvekZaslal: 8. srpen 2007, 16:02:36    Předmět: Odpovědět s citátem

Ja jsem tenhle problem vyresil udelanim .msi instalacky (1.8MB) podle navodu na http://www.codeproject.com/cpp/vcredists_x86.asp (přesněji http://www.codeproject.com/cpp/vcredists_x86.asp#ExpressEditions)

jsou tam pekny postupy jak se zavislosti na tehlech dllkach zbavit uplne (bohuzel v express verzich to nejde)

EDIT: jo, zapomel sem napsat ze to je postup pro VC++ 2005, ale imho by to slo aplikovat i na 2008..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 8. srpen 2007, 16:28:48    Předmět: Odpovědět s citátem

Díky, ozkouším to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 8. srpen 2007, 16:39:11    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 8. srpen 2007, 18:03:40    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
kerekes



Založen: 29. 07. 2007
Příspěvky: 57

PříspěvekZaslal: 8. srpen 2007, 22:26:10    Předmět: Odpovědět s citátem

Skus zmenit v properties/c++/code generation z MDd na MTd (debug) resp z MD na MT (release).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
klapauciusk



Založen: 08. 08. 2007
Příspěvky: 76

PříspěvekZaslal: 9. srpen 2007, 08:11:58    Předmět: Odpovědět s citátem

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ářiSmile Všem děkuji
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 -> C / C++ Č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