[ pgavrilo @ 05.03.2010. 20:10 ] @
E, ovako radio sam neki ozbiljniji projekat u VS 2002. Koristio sam kontrolisani C++. Kada sam kasnije konvertovao taj projekat u VC++ 2008 radilo je sve normalno sa stvaranjem Debug verzije.
Ali se javljalo ovo upozorenje na koje nisam obraćao pažnju:
Code:
Warning:   Command line warning D9035 : option 'clr:oldsyntax' has been deprecated and will be removed in a future release    cl 

Sada sam završio program i trebam da izbildam relase verziju. Javi se sledeća greška:
Code:
Error:  Command line error D8016 : '/MT' and '/clr:oldsyntax' command-line options are incompatible    cl 

U ononm upozorenju jasno se vidi da će opcija 'clr:oldsyntax' biti izbrisana u relase verziji pa to stvara problem u kopajliranju relase-a. Gde bi bila ta stara sintaxa koju bi trebalo izmeniti?
Drugo rešenje je kako napraviti da se ne briše opcija 'clr:oldsyntax' .
P.S. Pravim .dll ako je važno
Hvala unapred!
[ Mihajlo Cvetanović @ 05.03.2010. 22:30 ] @
Prvo upozorenje govori o "future release", budućoj verziji, to jest da ta opcija neće postojati u VS 2010. Drugo upozorenje govori o nekompatibilnosti dve opcije. Umesto /MT probaj sa /MD. Vidi MSDN u vezi s tim opcijama, http://msdn.microsoft.com/en-us/library/2kzt1wy3%28VS.80%29.aspx

Najbolje dugoročno rešenje je da ukineš tu opciju (oldsyntax), i potom ispraviš sve što treba da se ispravi. Forma .NET-a iz 2002 više ne postoji. Te ispravke će možda biti obimne, ali ako želiš da imaš upotrebljiv kod i za sledeću verziju onda je to neizbežno.
[ pgavrilo @ 06.03.2010. 20:29 ] @
Pokušao sam da ispravim greške ali ih ima više od 300. Da li bi mogao da Izgradim relase u VS 2002 i da to funkcioniše.
Može li mi neko ono na MSDN malo bjasniti na srpskom.

[Ovu poruku je menjao pgavrilo dana 06.03.2010. u 21:53 GMT+1]
[ Mihajlo Cvetanović @ 06.03.2010. 21:48 ] @
Pitanje je malo konfuzno. Nije bitno da li je u pitanju Debug ili Release konfiguracija (to si ti pogrešno zaključio). Ono što se kod tebe dešava je da imaš različite opcije pri kompajliranju. Imao si projekat odavno podešen na jedan način, pa si u jednom trenutku promenio jednu opciju u Debug konfiguraciji, ali si zaboravio tu istu opciju da promeniš u Release konfiguraciji. Kad si prešao na VS 2005 u Debugu nemaš problem, a u Releasu imaš.

Da bi rešio problem moraš da promeniš opciju u Release konfiguraciji. Na onom linku imaš uputstvo kako se menja ta opcija, ali evo na srpskom: otvori Properties od tvog projekta (desni klik na projekat, pa klikni na Properties), klikni na C/C++ folder, klikni na stranicu Code Generation, i promeni polje Runtime Library tako da ima opciju /MD.
[ Mihajlo Cvetanović @ 06.03.2010. 21:49 ] @
Ovo sve naravno ako hoćeš da zadržiš oldsyntax opciju.
[ pgavrilo @ 07.03.2010. 17:26 ] @
Pa i hoću da zadržim ali ipak nemogu da izgradim relase verziju javlja mi grešku koju sam već napomenuo. Kako eliminisati grešku?
[ Mihajlo Cvetanović @ 07.03.2010. 18:48 ] @
?? pa napisao sam...
[ pgavrilo @ 07.03.2010. 19:40 ] @
Citat:
Mihajlo Cvetanović: Prvo upozorenje govori o "future release", budućoj verziji, to jest da ta opcija neće postojati u VS 2010. Drugo upozorenje govori o nekompatibilnosti dve opcije. Umesto /MT probaj sa /MD. Vidi MSDN u vezi s tim opcijama, http://msdn.microsoft.com/en-us/library/2kzt1wy3(VS.80).aspx

Najbolje dugoročno rešenje je da ukineš tu opciju (oldsyntax), i potom ispraviš sve što treba da se ispravi. Forma .NET-a iz 2002 više ne postoji. Te ispravke će možda biti obimne, ali ako želiš da imaš upotrebljiv kod i za sledeću verziju onda je to neizbežno.

Nisam razumeo kako da umesto /MT stavim /MD nisam najbolje ovo na msdn-u razumeo kako to uraditi pa brate ako nije problem de malo objasni.
[ Mihajlo Cvetanović @ 07.03.2010. 20:04 ] @
Evo ponoviću

Citat:
Mihajlo Cvetanović: Da bi rešio problem moraš da promeniš opciju u Release konfiguraciji. Na onom linku imaš uputstvo kako se menja ta opcija, ali evo na srpskom: otvori Properties od tvog projekta (desni klik na projekat, pa klikni na Properties), klikni na C/C++ folder, klikni na stranicu Code Generation, i promeni polje Runtime Library tako da ima opciju /MD.
[ Mihajlo Cvetanović @ 09.03.2010. 14:48 ] @
Ako ikada budeš rešio da ukineš oldsyntax (što ti srdačno preporučujem, jednom kad nađeš vremena) pogledaj ovaj link: Managed Extensions for C++ Syntax Upgrade Checklist. Tu ti je dato šta kako treba da se zameni.
[ pgavrilo @ 14.03.2010. 11:51 ] @
Puno hvala. Častim te pivom kad se sretnemo .