View Full Version : Migrare da Visual Studio 2003 al 2010 (.NET)
graffio83
22-11-2011, 15:13
Ciao, aprendo il mio progetto VS 2003 (c++ .NET) in VS2010 fa una conversione e fin qui tutto ok.
appena compilo il debug mi restituisce moltissimi errori.
Ci perdo le speranze o devo semplicemente includere / escludere qualcosa?:mc:
grazie
Kralizek
22-11-2011, 15:14
beh magari se ci dici che errori ottieni? ;)
(Output => Build)
graffio83
22-11-2011, 15:36
eh si... ti dico gli errori... cosė ci riuscirebbe chiunque... :D
Allora in prima Battuta ottengo:
error C3867: '&MyProject::FormPrefixXML::OKPrefImg_Click': chiamata di funzione senza elenco di argomenti; utilizzare 'MyProject::FormPrefixXML::OKPrefImg_Click' per creare un puntatore al membro
'System::EventHandler': un costruttore di delegato richiede 2 argomento/i
...
...
...
fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
Le prime 2 righe si ripetono per pių di un controllo ma tutti dello stesso Forms (Gli altri forms sembrano non avere problemi)
Allora io vado nel setting e come richiesto (dall'ultima riga) attivo MFC shared dll version
a Questo punto gli errori scritti su si ripetono anche per tutti gli altri controlli in tutti i forms che compongono il mio progetto.
Kralizek
22-11-2011, 16:21
ops non avevo visto si trattasse di c++/cli di cui non ne so un hazzo.
tomminno
22-11-2011, 23:25
Sicuro che l'errore C3867 sia esattamente come l'hai riportato e non all'inverso?
Perchč dovrebbe essere:
error C3867: 'MyProject::FormPrefixXML::OKPrefImg_Click': chiamata di funzione senza elenco di argomenti; utilizzare '&MyProject::FormPrefixXML::OKPrefImg_Click' per creare un puntatore al membro
L'errore che ottieni deriva dal fatto che il 2003 accettava puntatori a metodo anche senza la & davanti, nelle versioni successive questo non č pių ammesso come previsto dallo standard a cui il 2003 non era perfettamente aderente.
graffio83
23-11-2011, 08:55
Ciao, alla fine ho deciso di rinunciare, ho visto che il 2010 per c++/CLI non supporta neanche l'intelli sense, cosa non indispensabile ma sicuramente utile.
comunque anche io ricordo che il debugger diceva l'inverso nell'errore, eppure ho semplicemente fatto copia e incolla...:muro:
A questo punto faccio un'altra domanda, se ho delle funzioni scritte in C in dei file e includo questi file ad un progetto c# posso usare queste funzioni da C#?
č un giorno che ci gioco e devo dire mi piace proprio...
tomminno
23-11-2011, 09:21
Ciao, alla fine ho deciso di rinunciare, ho visto che il 2010 per c++/CLI non supporta neanche l'intelli sense, cosa non indispensabile ma sicuramente utile.
comunque anche io ricordo che il debugger diceva l'inverso nell'errore, eppure ho semplicemente fatto copia e incolla...:muro:
A questo punto faccio un'altra domanda, se ho delle funzioni scritte in C in dei file e includo questi file ad un progetto c# posso usare queste funzioni da C#?
č un giorno che ci gioco e devo dire mi piace proprio...
E no, non puoi.
Devi farci un wrapper tramite una libreria C++\Cli. A quel punto la puoi usare anche in C#.
[Edit]
L'alternativa č utilizzare il P/Invoke avendo creato prima una libreria con i sorgeti C
graffio83
23-11-2011, 18:02
... La vedo dura!!!
Visto che non l'ho mai fatto anche se so cosa sono, mi sai consigliare siti/appunti/libri on line dove imparare a fare una libreria dai miei sorgenti?
grazie :)
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.