2009-07-17 16 views
6

C# ve C++ uygulamalarını geliştirmek için Mono'yu kullanmaya başlıyorum. Sana sormak istedim, Mono C++ kodunu nasıl derliyor? GCC kullanıyor mu? STL kaplarına sahip olduğunu görmek şaşırtıcı ... Ayrıca, Boost kütüphanelerini ve GSL kütüphanelerini Mono ile kullanabilir miyim? Şimdiden teşekkürler!!!C++ içinde geliştirmek için Mono'yu kullanma

cevap

7

Sanırım IDE yerine MonoDevelop'u kullanıyor olmalısınız. kendisini mono

Evet, MonoDevelop kullanır gcc/g ++ C/C++ kaynak kodu derlemek için, ancak CIL için derlenmiş değil -.. bir yerli ikili derlenmiş

doğru anlama, o zaman size Ancak, boostu iyi kullanabilmeli

Ancak, Mono'nun Karma Mod montajları veya çalıştırılabilirleri için destek olup olmadığını soruyorsanız (Örneğin. hem yerel hem de .NET CIL içeren assembler/exe), o zaman bu özelliğin desteklenmediğini ve C++ 'nun Mono tarafından saf CIL'ye derlenmediğini size bildirdiğimiz için üzgünüm.

+0

Evet, MonoDevelop kullanıyorum. Sorun şu ki, destek kütüphanelerini nasıl bağlayacağımı bilmiyorum. Array.hpp dosyasını eklemek istiyorsanız, #include yazarım, ancak bu dosya diğer dosyalara çağrı yaptığını ve array.hpp dosyasındaki dosyaların dizinlerini "/ boost/somefile ", dizinlerle ilgili bir sorun yaşıyorum. Ne yapabilirim? – user123668

+0

Özellikle, dizinler sadece/boost/somefile yerine/dizinler/boost/somefile olmalıdır. – user123668

+1

Tamam, yapmak istediğiniz şey C++ yollarını içerir. Yapmanız gereken şey #include, yapmanız gereken #include ve içerme yolunu içerecek şekilde/full/path/eklemek MonoDevelop'un Proje Seçenekleri (Kod Üretimi altında). – jstedfast

5

Karışık moda gerek duymadığınız sürece (yani, yerel parçayı unutun ve yalnızca CIL'ye gidin), mono, C++ koduyla çalışır (Artık, özellikle karma modda, özellikle de Windows üzerinde karma modu desteklediklerini duyuyorum) ve başka bir yerde şarapla, ama sanırım bu bölüm ilk kez hazır değil). Şu anda iyi desteklenen bir C++ derleyicisi, Net 2.x çerçevelerinde Microsoft C++/CLI; gcc eklemek için çabalar devam ediyor (yıllarca), ancak şu ana kadar herhangi bir üretim hazır sonucunu bilmiyorum :-(.

İlgili konular