Diskuze: Nejlepši nastavení kompilátoru v Microsoft Visual Studiu 2017

C a C++ C a C++ Nejlepši nastavení kompilátoru v Microsoft Visual Studiu 2017

Aktivity (1)
Avatar
Dominik Rozporka:13. března 20:18

Čau potřebuju poradit jak pořádne nejlíp nastavit C++ projekt s Windows Forms Applications
tak aby fungoval potom ten program na Windows xp a výších verzí
a pokud to nejde udělat aby to šlo ten program spustit od Windows xp a výš
tak aspoň mi prosím poraďte jak nastavim nějak ten projekt aby po kompilaci ten program nevyžadoval žádný doplňky nebo aspoň aby jich bylo co nejmíň
těma doplňkama myslím třeba tohle: zde -tohle je příklad to co je v tom okně tak to mi píše na druhým počítači po zapnutí mího programu
to asi vim jak opravit stačí nainstalovat aktualizaci tuhle: zde
ale to právě dělat nechci jen v nejhoršim případě nejde ten c-runtime nebo jak se to jmenuje nějak v tom projektu vypnout? nebo nahradit za něco co nebude otravovat?
nebo aspoň aby to otravovalo tak aby stačilo něco naházet do složky s tim programem a dalo to pokoj?
jinak ještě mi dost vadí když spustim ten můj program tak se mi nejdřiv spustí nějakej příkazovej řádek
a potom teprve ten program nevíte co s tím? jak udělat aby se ten program spouštěl
bez toho příkazovího řádku?

prosím poraďte mi se vším co jsem tu napsal
jinak jestli nejde udělat program kterej se spustí normálně na operačním systému Windows xp a výš
tak potom by mě zajímalo jak udělali hru bulánky......

 
Odpovědět  +1 13. března 20:18
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:13. března 21:22

MSVS 2017 ještě nemám, takže ti aspoň poradím, jak tyto problémy řešit na verzi 2015.

Čau potřebuju poradit jak pořádne nejlíp nastavit C++ projekt s Windows Forms Applications

tak aby fungoval potom ten program na Windows xp a výších verzí

V nastavení projektu v záložce General zkus nastavit Platform Toolset na Visual Stduio 2017 – Windows XP. Nevím ale, zda tato možnost v 2017 bude podporována, v 2015 stále je (nebo jde doinstalovat).

Teoreticky by se ti mohlo podařit dosáhnout kompatibility s XP i bez tohoto toolsetu, ale je to trošku ruční práce, na kterou asi nemáš zanlosti.

Jinak pokud vím, tak Windows Forms pro svůj běh potřebují .NET Framework, takže se závislosti na nějakém tom "dpolňku" jen tak nezbavíš.

tak aspoň mi prosím poraďte jak nastavim nějak ten projekt aby po kompilaci ten program nevyžadoval žádný doplňky nebo aspoň aby jich bylo co nejmíň

V nastavení projetku záložka C/C++ | Code Generation, nastav položku Runtime Library na Multi-threaded (pro Release) nebo Multi-threaded Debug (pro Debug). Pak je běhová knihovna linkována staticky, tzn. je již součástí výsledného .exe souboru.

I bez běhové knihovny se lze obejít, ale opět je to dost ruční práce a dost to omezuje výběr funkcí, které můžeš v programu použít (popř. je třeba nahradit jejich ekvivalenty z Windows API).

estli nejde udělat program kterej se spustí normálně na operačním systému Windows xp a výš

tak potom by mě zajímalo jak udělali hru bulánky......

Bulánky byly tvořeny v době, kdy byly Windows XP plně podporovaným operačním systémem, tedy podporovaným i Visual Studiem. Teď to s XP může pomalu být tak, jako je už léta s Windows 2000 nebo s Windows XP bez SP2.

Nahoru Odpovědět 13. března 21:22
2 + 2 = 5 for extremely large values of 2
Avatar
Dominik Rozporka:13. března 21:59

to s tim toolkitem pro Windows xp nejde to jsem zkoušel to znám
ale teď už to možná pujde ale nevim proto že nějak mi nefunguje kompilace po tom co jsem si nastavil
v tom projektu jak jsi mi poradil to s tim Multi-threaded tak teď mi to nejde poradíš prosím proč mi to nejde?
tady je obrázek s tim jak jsem to nastavil a dole je chybovej výstup: zde

 
Nahoru Odpovědět 13. března 21:59
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:13. března 22:22

Vypadá to, že pro Multithreaded musíš zároveň vypnout Common Runtime Language Compilation (/clr), což si ale nejse mjistý, zda vůbec půjde pro Windows Forms aplikaci.

Nahoru Odpovědět 13. března 22:22
2 + 2 = 5 for extremely large values of 2
Avatar
Dominik Rozporka:13. března 22:50

aha tak že to mám zrušit to multithreaded a dát to jak to bylo?
Jo a nevíš nějak jak udělat aby ten program fungoval i na jiným windowsu na kterým není tohle: zde
proto že to hází tuhle chybu: zde -jak jsem psal nahóře toho názvu programu co je na tom obrázku si nevšímej je to jen příklad

 
Nahoru Odpovědět 13. března 22:50
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:14. března 8:18

aha tak že to mám zrušit to multithreaded a dát to jak to bylo?

Ano, i když pak tam budeš mít závislost na běhové knihovně.

Jo a nevíš nějak jak udělat aby ten program fungoval i na jiným windowsu na kterým není tohle: zde

To by podle mě právě řešilo to Multithreaded :-), nebo ten toolset s Windows XP.

Nahoru Odpovědět 14. března 8:18
2 + 2 = 5 for extremely large values of 2
Avatar
Dominik Rozporka:14. března 9:10

Aha no ten toolkit na to nefunguje :( a bohužel ani ten Multithreaded.
Jinak nemohlo by z těch toolkitů pomoct na to aby to šlo na jiným Windowsu něco z tohodle: zde
nebo jsem teď oběvil v nastavení projektu ještě nějakou optimalizaci: zde

no prosím poraďte jak to opravit jinak ještě by mě zajímalo jak zrušim aby se prostě vůbec nezoobrazoval
ten příkazovej řádek po spuštění se nejdřív oběví příkazovej řádek
jo a ještě k těm Windowsům na jiným počítači nepohlo by že bych dal nějaký soubory do složky s tim programem? že by si je pak načetl
a ekzistujou nějaký soubory z tohodle: zde který bych jen do tý složky s programem dal

 
Nahoru Odpovědět 14. března 9:10
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:14. března 9:56

Jinak nemohlo by z těch toolkitů pomoct na to aby to šlo na jiným Windowsu něco z tohodle: zde

Zkoušel jsi Visual Studio 2015 – Windows XP?

jo a ještě k těm Windowsům na jiným počítači nepohlo by že bych dal nějaký soubory do složky s tim programem? že by si je pak načetl

Ano, jedním z řešením je do adresáře aplikace přidat i DLL knihovny, které to nemůže najít.

Nahoru Odpovědět 14. března 9:56
2 + 2 = 5 for extremely large values of 2
Avatar
Dominik Rozporka:14. března 11:39

nějak mi to nefunguje to .dll se nenačte: zde
jak to mám opravit?
jinak s tim toolkitem 2015 pro Windows xp to nefunguje na Windows xp: http://i.imgur.com/B6EeWZO.png
jak to teda opravit?

 
Nahoru Odpovědět 14. března 11:39
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:14. března 17:08

Ohledně frameworku: na XP se dá použít maximálně verze 4.0, novější ne. Samozřejmě musíš mít na cílovém pc nainstalován shodný framework s aplikací.

 
Nahoru Odpovědět 14. března 17:08
Avatar
Dominik Rozporka:14. března 18:01

aha no já jsem to nějak podobně věděl mám tam 3.0 framework
ale teď nikde nemůžu najít framework 3.0 offline instalaci nevíte kde to mám najít?
na stránkách microsoftu to není teda já to tam nenašel

Editováno 14. března 18:03
 
Nahoru Odpovědět 14. března 18:01
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:14. března 18:12

nechceš ten projekt převést na framework 3.5? Tady je odkaz ke stažení
Framework 3.0 totiž již není podporován.

Editováno 14. března 18:13
 
Nahoru Odpovědět 14. března 18:12
Avatar
Dominik Rozporka:14. března 18:43

aha děkuju ale mě to nejde na ma virtualboxu windows xp sp1 a vyžaduje to sp2
jinak vůbec mi nejde windows update ani skoro žádná stránka na těch windows xp sp1
nevíte proč? jak to mám opravit?: zde
jinak ani nevim jestli tam je windows xp update na sp2 je to tam? nevíte?

Editováno 14. března 18:44
 
Nahoru Odpovědět 14. března 18:43
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:14. března 18:50

Podpora XP byla ukončena v dubnu 2014.
Pokud nemáš to stažené v roce 2014, nebo CD, tak to na stránkách MS nestáhneš, z jiných webu to stahovat nedoporučuji.

Editováno 14. března 18:52
 
Nahoru Odpovědět 14. března 18:50
Avatar
Dominik Rozporka:14. března 18:51

sakra já jsem myslel že jen updaty se noví nedělají a né že to celi smažou :(
tak abych někde sehnal sp2

 
Nahoru Odpovědět 14. března 18:51
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:14. března 19:39

Windows XP SP1 už jsou nepodporované hodně dlouho. I běhová knihovna pro Windows XP již dávno počítá s tím, že budeš mít aspoň SP2.

Do virtuálky bych klidně SP2 ze serveru typu stahuj.cz nainstaloval, i v případě nějaké škodlivosti nebude efekt výrazný. A pokud ten Service Pack stáhneš z prověřeného serveru, tak si myslím, že riziko je minimální.

Nahoru Odpovědět 14. března 19:39
2 + 2 = 5 for extremely large values of 2
Avatar
HONZ4
Člen
Avatar
HONZ4:14. března 19:58

Akorát tak troch nechápu, proč usiluješ o to, aby tvůj program běžel na XP, když tento systém nemáš k dispozici.
(A ještě jedna rada, nevím sice jak daleko si v C++ Windows Forms Applications, ale na formulářové aplikace doporučuji spíše jazyk C#)

 
Nahoru Odpovědět  +1 14. března 19:58
Avatar
Petr Čech (czubehead):14. března 20:20

Omlouvám se za off-topic, ale doporučoval bych autorovi vlákna, aby si znovu prošel pravidla českého pravopisu, bolí mě oči jen ze čtení těch hrůz, kterých se dopouštíš...
Jinak bez SP2 se pravděpodobně neobejdeš a budeš muset risknout to stáhnout. Jen se ujisti, že to mají cílové počítače.

Nahoru Odpovědět  ±0 14. března 20:20
Why so serious? -Joker
Avatar
Dominik Rozporka:14. března 21:22

sakra já jsem myslel že jen updaty se noví nedělají a né že to celi smažou :(
tak abych někde sehnal sp2 jinak to zkusím na vistě
já mám jen 64 bit vistu na virtualbox když to zkusim na 64 bitoví vistě
a když to bude fungovat tak je jasný že to bude fungovat i na 32 bitoví vistě?
nebo si budu muset sehnat 32 bitovou vistu? nebo neznáte nějakej 100% spolehlivej nějakej testovač programů
na kterym si vyberu operační systém a potom otestuju program jestli by ten program na tom operačním systému
fungoval? abych nemusel furt shánět windowsy?

 
Nahoru Odpovědět 14. března 21:22
Avatar
Odpovídá na HONZ4
Dominik Rozporka:14. března 21:33

HONZ4 Chci aby to šlo i na Windows xp proto že kamarád ho má a furt říká že to měnit nebude
že prej windows xp jsou nejlepší operační systém a že kdyby měl noví počítač tak taky myslím že říkal že by si tam dal Windows xp no každopádně mě totiž podle tohodle člověka napadlo že takovích lidí bude víc :D
tak aby když bych to vydal na Steam třeba k prodeji tak aby to šlo co nejvíce lidem spustit

Editováno 14. března 21:34
 
Nahoru Odpovědět 14. března 21:33
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:14. března 21:49

a když to bude fungovat tak je jasný že to bude fungovat i na 32 bitoví vistě?

Pravděpodobně ano, ale záleží na aplikaci... a to slovo "pravděpodobně" je důležité.

kamarád ho má

Pokud má alespoň SP2, tak ho chápu. Je ale pravda, že XP vznikala v době, kdy byla situace kolem hardware trochu jiná (daleko méně paměti), takže pro stroje s větší pamětí mohou být XP naopak výkonnostní problém, který ale lze řešit vypnutím stránkovacího souboru.

Takže nainstaluj SP2 a uvidíš.

Nahoru Odpovědět  +1 14. března 21:49
2 + 2 = 5 for extremely large values of 2
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:14. března 21:57

S vyvýjejícím se HW, bude lidí jako je tvůj kamarád rychle ubývat. Na novém počítači, by si jen cvok snižoval výkon použitím XP. A jelikož za pár dní končí i Visty, tak bych se klidně zaměřil na minimum W7.
Nicméně pokud svůj program napíšeš v .net 3.5, tak můžeš klidně uvést, že to na XP pojede bez záruky - většině lidí to poběží. (Lidi s čistým XP a XP-Sp1, ani nepočítají s tím, že cokoliv doinstalují).

(Pokud má tvůj kámoš XP, tak si od něj půjč CD.)

Editováno 14. března 21:59
 
Nahoru Odpovědět 14. března 21:57
Avatar
Dominik Rozporka:15. března 2:33

No tak teda teď jsem to otestoval na Windowsu Vista a nevim proč
ale myslím že to píše něco uscrt.base terminate že chybí v knihovně api-ms-win-crt-runtime-l1-1-0.dll
kterou jsem tam musel ručně dát
proto že při spuštění to píše že to chybí
nemám bohužel teď čas to zkoumat proto že chci jít spát jinak tak 5 dní asi nebudu moct být na počítači
tak že potom to snad nějak pořešíme proč to nejde na Windows xp a Windows Vista

HONZ4 tak asi možná se na ty visty a windows xp přinejhoršim vykašlu když by to nešlo

jo a překonvertoval jsem ten projekt správně? když jsem přepsal jenom framework verzi v nastavení projektu
z 3.0 na 3.5 a potom klikl pravim na projekt a dal retarget project nebo retarget solution teď nevim nějak tak

jinak na tom Windows Vista jsem nainstaloval framework a vc_redistx.64 nebo tak nějak teď nevim jak se to jinak jmenuje a stejně to nešlo

 
Nahoru Odpovědět 15. března 2:33
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:15. března 9:49

vc_redistx64 ti nepomůže, pokud aplikaci kompiluješ pro 32bitové platformy, tam potřebuješ 32bitové Visual C++ Redistributable.

Nahoru Odpovědět  +1 15. března 9:49
2 + 2 = 5 for extremely large values of 2
Avatar
Dominik Rozporka:19. března 20:03

aha no tak tam mám i 32 bit vc redist ale stejně to nejde :(
tady je screenshot:
http://i.imgur.com/U6clA2n.png
nevíte teda co mám ve visual studiu upravit nebo co mám ještě odinstalovat a co můžu odinstalovat na tý vistě?

 
Nahoru Odpovědět 19. března 20:03
Avatar
Dominik Rozporka:19. března 20:37

a jo já jak jsem přijel a neměl čas právě domů a nevěděl co dřív tak mi to nemyslelo
tak že jinak ta otázka kde seženu to .dll ve kterym je to ucrtbase.terminate ?

Editováno 19. března 20:37
 
Nahoru Odpovědět 19. března 20:37
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:19. března 20:51

naposled:
návod na nastavení WinForm: http://stackoverflow.com/a/32404584
na cílovém počítači musíš mít nainstalovaný ten Framework, ve kterém je sestavená aplikace + redist. balíček shodný s VS.
Sestavení by mělo být s nastavením Release

Editováno 19. března 20:53
 
Nahoru Odpovědět 19. března 20:51
Avatar
HONZ4
Člen
Avatar
HONZ4:19. března 21:18

mimochodem, psal jsi, že to děláš v VS 2017, tak nechápu, proč jsi tam nainstaloval balíček 2015?!

 
Nahoru Odpovědět 19. března 21:18
Avatar
Dominik Rozporka:20. března 15:03

http://i.imgur.com/w1XnJwp.png -všechno jsem to udělal jak jsi mi teď napsal ale furt to nejde
a to s tím nastavení winform už dávno mám:
http://i.imgur.com/npoJoCQ.png
http://i.imgur.com/6095frf.png
napadlo mě jestli to není tím že jsem to konvertoval s net.frameworku 3.0 na 3.5
a konvertoval jsem to tak že jsem ve vlastnostech toho projektu přepsal .NET Target Framework Version 3.0
na .NET Target Framework Version 3.5
a potom jsem dal proto že to nešlo skompilovat tak jsem klikl pravím tlačítkem myši na ten projekt a dal jsem
Retarget Projects

 
Nahoru Odpovědět 20. března 15:03
Avatar
HONZ4
Člen
Avatar
HONZ4:20. března 18:38

Framework 3.5 bych neřešil, podlé té hlášky jde o běhové prostředí tzn. stáhnout tento balíček a doporučuji nastavit platformu na Visual Studio 2017 - Windows XP (v141_xp) ne "Visual Studio 2017" a musí to jet i na XP (s nainstalovaným frameworkem 3.5) Mám to odzkoušeno.

Editováno 20. března 18:40
 
Nahoru Odpovědět 20. března 18:38
Avatar
HONZ4
Člen
Avatar
HONZ4:20. března 21:11

Zkus spustit na Vistě tuto aplikaci:
http://leteckaposta.cz/513828616
aplikace je sestavená s nastavením jak jsem psal.
Pokud ti na Vistě pojede, tak máš špatné nastavení projektu, pokud ne, tak máš špatně nastavenou Vistu.
(je to jen prázdné okno, které nic nedělá)

 
Nahoru Odpovědět 20. března 21:11
Avatar
Dominik Rozporka:21. března 18:06

http://i.imgur.com/Jxj1wI1.jpg -aha asi mám nějak rozbitou vistu jak to opravit? ale to mi přijde divný já jsem se v ní nijak nehrabal
jinak nenainstaloval jsem si ten balíček jsem zapoměl a tak to otestuju znovu hned jak se mi na tu vistu
nainstalujou aktualizace

 
Nahoru Odpovědět 21. března 18:06
Avatar
Dominik Rozporka:21. března 18:11

aha tak to s tim balíčkem to už tam mám dokonce i x64 a nejde to
něco mám asi s tou Vistou ale co? já se v ní nehrabal

 
Nahoru Odpovědět 21. března 18:11
Avatar
HONZ4
Člen
Avatar
HONZ4:21. března 18:30

ta hláška je přesně ta, která se zobrazuje pokud nemáš nainstalovaný balík, který je potřeba (v případě mé aplikace je to ten, na který jsem ti dal odkaz vc_redist.x86 pro vs 2017)

na obrázcích je důkaz. Obrázek s chybou je bez redist a druhý s redist.

 
Nahoru Odpovědět 21. března 18:30
Avatar
Dominik Rozporka:21. března 19:02

ale ten 2017 mám a nejde to :(
ten odkaz od tebe na stažení jsem si ověřoval je z týhle stránky kde jsem to stahoval a instaloval:
https://www.visualstudio.com/cs/downloads/

 
Nahoru Odpovědět 21. března 19:02
Avatar
HONZ4
Člen
Avatar
HONZ4:21. března 19:29

tak to fakt nevím, prostě by to mělo fungovat.
(Můj odkaz směřoval ke stejnému zdroji jako je odkaz na stránce co jsi uvedl)
Nemáš to třeba nějaký pochybný systém, někde z netu? Sice se mi moc nezdá, že by to způsobovalo zrovna tohle, ale jinak mě nic jiného nenapadá.

Editováno 21. března 19:31
 
Nahoru Odpovědět 21. března 19:29
Avatar
Dominik Rozporka:22. března 19:41

tak jsem nainstaloval jinou vistu a na ní jsem nainstaloval vc redist x86 2017 a už to aspoň hlásí jinou chybu:
http://i.imgur.com/2phntSj.png
ale já jsem myslel že jsem změnil tu verzi .net frameworku jak se teda mění ta verze toho frameworku
ve visual studiu 2017?
já jsem to udělal tak že jsem přepsal verzi .net fremeworku ve vlastnostech projektu na 3.5
a potom jsem klikl pravim tlačíktem myši na ten projekt a dal jsem retarget projects nebo tak nějak
tak takhle se to asi nedělá jak se to teda dělá?

 
Nahoru Odpovědět 22. března 19:41
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:22. března 21:55

a nechceš si stáhnout framework 4, taky je podporován XP SP3.
mění se to nastavením Platform Toolset ("Windows XP (v141_xp)" je 4.0)
https://msdn.microsoft.com/…f770576.aspx

Editováno 22. března 21:56
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 22. března 21:55
Avatar
Dominik Rozporka:23. března 20:25

jo s frameworkem 4 to funguje moc děkuju a jde to i dokonce na Woknech xp zkoušel to ten kamarád
dám ti fajfku

 
Nahoru Odpovědět 23. března 20:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 40 zpráv z 40.