Newsgroup: it.comp.programmare.win32
Titolo: Visual C++ 2005 Express : framework obbligatorio ?

Ciao a tutti,
ho installato e provato l'ambiente in oggetto.
Ho scaricato il Platform SDK e seguito le relative
istruzioni per poter compilare per Win32.
Ma sbaglio qualcosa io oppure e' comunque necessario
avere il framework .NET installato, per poter
usare l'eseguibile ??

"Mister X" <x...@NOTVALID.com> ha scritto nel messaggio 
news:445dde6f$0$18287$4faf...@reader1.news.tin.it...

Credo di sì (anche se non ce l'ho).
Infatti il C++/CLI è un linguaggio Managed e quindi richiede il Framework 
.Net.
Suppongo inoltre che il GUI Designer integrato non sia "Native", ma 
"Managed" (quindi se ci fai applicazioni windows, gireranno solo su PC col 
framework installato).
In realtà col compilatore (cl.exe) si potrebbero creare applicazioni Windows 
native, ma credo che il GUI Designer per fare queste cose sia incluso solo 
nelle versioni a pagamento (aspetto delucidazioni in merito, visto che una 
mezza idea di scaricarlo ce l'avevo anch'io, ma ho una banda penosa...). 

Adesso mi sono venute in mente due cose:
1) Se nel Visual C++ Express non sono incluse le MFC (o le WTL) un GUI 
Designer nativo non potrebbe funzionare comunque.
2) Se hai scaricato le Windows API SDK hai probabilmente buttato via tempo, 
se tanto il GUI Designer si basa sul framework .Net.
In base a queste considerazioni, credo che il "Visual C++ Express" non vada 
bene per fare applicazioni native Win32. 

Flix ha scritto:

(confermo che MFC e ATL non sono incluse nella versione express)
beh, io ho fatto una applicazione normale windows,
niente GUI... il classico
int main()
per intenderci :-)
Se lancio il programma (banalissimo) su un pc senza framework,
ottengo questo messaggio di errore :
----------------------------------------
Impossibile avviare l'applicazione specificata.
La configurazione dell'applicazione non è corretta.
Una nuova installazione dell'applicazione potrebbe risolvere il problema.
----------------------------------------
Lo stesso programma compilato con VC++ 2003 professional
gira liscio liscio :-)
Evidentemente linka col framework di default ?
Non ho nemmeno trovato un'opzione per disattivarlo :-(
Pareri ? Consigli ?
Grazie!

 mezza idea di scaricarlo ce l'avevo anch'io, ma ho una banda penosa...). 
beh, se perlomeno e' una flat :-D
oppure ordini il cd :-P
Grazie ;-)

 una GUI ci potrei riuscire, dici ?
Certamente. Anzi, se ben ricordo per compilare "col Framework" si usa il 
comando:
cl [...] /clr [...]
(o qualcosa di simile)
Quindi ti consiglio di cercare prima nelle opzioni di progetto se  viene 
aggiunto "/clr" (o qualcosa che gli assomigli) di default nella riga di 
comando. 

 comando. 
in effetti cercando meglio ho trovato l'opzione di progetto
che si chiama "Common Language Runtime support"...
purtroppo e' gia impostata su "No Common Language Runtime support".
(sia per versione debug che release, ovviamente)
Le altre scelte aggiungerebbero appunto il /clr:xxx
e le varie sintassi...
A questo punto mi chiedo quale sia davvero la causa del
problema di partenza... :-\
Graze 1000 !


Non è necessario il framework.
Semplicemente nella express non sono presenti le MFC e i suoi wizard ma se 
sei capace, puoi facilmente fare tutto.
Puoi infatti installare MFC e ATL dal platform sdk che è gratuito sul sito 
MS.
Quanto ai wizard puoi attingere da applicazioni già fatte per inserire le 
classiche include e lo scheletro di una applicazione.
Il compilatore dentro le express può usare /clr (cioè compila per il 
framework) oppure senza. Questo sta solo alla tua scelta.
Le uniche limitazioni su questo compilatore riguardano le ottimizzazioni e 
lo standard OpenMP 2.5 che è assente nella versione express.
-- 
Raffaele Rialdi
Microsoft .NET MVP 
http://mvp.support.microsoft.com
 -
http://italy.mvps.org
 UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
 Weblog: 
http://blogs.ugidotnet.org/raffaele

 lo standard OpenMP 2.5 che č assente nella versione express.
A questo punto, se non si puň ottimizzare il codice, per programmare in C++
nativo, forse conviene usare il Visual C++ Toolkit 2003 (col compilatore 
"optimizing" identico a quello del Visual Studio 7.1) e qualche IDE freeware 
che permette di usarlo
(ce ne sono due o tre), oppure cercare direttamente di sostituirlo nelle 
cartelle di
installazione del Visual C++ Express 2005 (cercando magari di evitare di 
fare qualche
c***olata). 

 Non è necessario il framework.
forse non hai letto tutto il mio thread :-)
te lo riassumo... :-)
Se lancio il programma (banalissimo) su un pc senza framework,
ottengo questo messaggio di errore :
----------------------------------------
Impossibile avviare l'applicazione specificata.
La configurazione dell'applicazione non è corretta.
Una nuova installazione dell'applicazione potrebbe risolvere il problema.
----------------------------------------
Se lo lancio su un pc con framework installo, funziona.
Lo stesso programma compilato con VC++ 2003 professional
gira correttamente...
cercando ho trovato l'opzione di progetto
che si chiama "Common Language Runtime support"...
purtroppo e' gia impostata su "No Common Language Runtime support".
(sia per versione debug che release, ovviamente)
Cosa sbaglio, se veramente non serve il framework ?
:-(
Ciao!

 c***olata).
Mi sono espresso male. Solo alcune delle ottimizzazioni non sono presenti.
Diciamo che se hai bisogno di quelle ottimizzazioni che mancano alla 
express, è presumibile che ne stai facendo un uso 'professionale' e a questo 
punto, a mio avviso, la standard si ripaga ampiamente dello sbattimento di 
stare a usare kit diversi, ide della express, etc. etc.


 ottengo questo messaggio di errore :
[...]
Credo dipenda dal wizard che hai usato.
Controlla che non sia presente lo switch /clr. Questo determina l'uso e la 
dipendenza del framework.
Ad ogni modo per sfruttare meglio la express con il platform sdk puoi 
seguire questi passi:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/


 
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
e' quello che ho fatto...
-- 
Ciao!

 ---
Chiaro ma forse ci sono altre opzioni che adesso non mi vengono in mente. Da 
che wizard sei partito?
Io per sicurezza ho fatto una prova in una VM con express usando il wizard 
console, cambiando subsystem in modo da farlo diventare una applicazione 
win32 a finestre e tutto è filato liscio.
Non ho macchine senza framework per fare un test ma depends.exe mi dice che 
non ci sono dipendenze da mscoree.dll quindi l'exe creato non richiede il 
framework.
