2009-07-17 4 views
6

Sto iniziando a utilizzare Mono per sviluppare applicazioni in C# e C++. Volevo chiederti, come sta Mono a compilare il codice C++? sta usando GCC? È incredibile vedere che ha i contenitori STL ... Inoltre, posso usare le librerie Boost e le librerie GSL con Mono? Grazie in anticipo!!!Uso di Mono per lo sviluppo in C++

risposta

7

Penso che tu debba usare MonoDevelop, l'IDE, in contrapposizione a mono stessa

Sì, MonoDevelop utilizza gcc/g ++ per compilare C/C++ di codice sorgente, ma non è compilato a CIL -.. è compilato in un binario nativo

Se io sto capendo correttamente, allora si dovrebbe essere in grado di usare boost proprio bene

Se, tuttavia, si sta chiedendo se Mono ha supporto per assiemi o eseguibili in modalità mista (per esempio. assembly/exe che contengono CIL nativo e .NET), quindi mi dispiace informarvi che questa funzione non è supportata, né è in grado di compilare C++ in puro CIL di Mono.

+0

Sì, sto usando MonoDevelop. Il problema che sto avendo è che non so come collegare le librerie di boost. Se voglio includere il file array.hpp, scrivo #include , ma poiché questo file effettua chiamate ad altri file e le directory a quei file nel file array.hpp sono "/ boost/somefile ", sto riscontrando qualche problema con le directory. Cosa posso fare? – user123668

+0

In particolare, le directory dovrebbero essere/directories/boost/somefile anziché just/boost/somefile. – user123668

+1

Ok, quello che vuoi fare è impostare i percorsi di inclusione del C++. Non vuoi #include, ciò che dovresti fare è #include e aggiungere/full/path/a come un percorso di inclusione in Opzioni del progetto di MonoDevelop (sotto Generazione del codice). – jstedfast

5

Finché non è necessaria la modalità mista (ovvero, si dimentica la parte nativa e si utilizza solo CIL), mono funziona con codice C++ (ho sentito che ora stanno sperimentalmente supportando la modalità mista, su Windows in particolare e altrove via vino, ma penso che quella parte NON sia pronta per il prime time). L'unico compilatore C++ ben supportato al momento è Microsoft C++/CLI su Net 2.x frameworks; gli sforzi sono stati in corso (per molti anni) per aggiungere gcc, ma non so di alcun risultato pronto per la produzione finora :-(.