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
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.
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 :-(.
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
In particolare, le directory dovrebbero essere/directories/boost/somefile anziché just/boost/somefile. – user123668
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