Bu çok eski bir yazı olduğunun farkındayım, ancak yalnızca daha yeni kullanıma sunulan ve Windows platformunda neredeyse tüm Objective-C 2.0 özelliklerini etkinleştiren bir çözüm buldum.
Gcc 4.6'nın gelişiyle, Objective-C derleyicisine Objective-C 2.0 dil özellikleri (bloklar, nokta sözdizimi, sentezlenmiş özellikler, vb.) Desteği eklendi ( tüm ayrıntılar için sürüm notlarına bakın). Çalışma zamanları, Apple'ın kendi Objective-C 2.0 çalışma zamanıyla neredeyse aynı şekilde çalışacak şekilde güncellendi. Kısacası bu, Mac'te Clang ile meşru bir şekilde derleyecek (neredeyse) herhangi bir programın değişiklik yapılmadan gcc 4.6 ile derleneceği anlamına gelir.
Bir yan not olarak, kullanılamayan bir özellik, Apple'ın NSDictionary, NSArray, NSNumber, vb sınıflarını kullanmak için Clang'a sabit olarak kodlandığı için sözlük / dizi / vb değişmezleridir.
Bununla birlikte, Apple'ın geniş çerçeveleri olmadan yaşamaktan memnunsanız, bunu yapabilirsiniz. Diğer yanıtlarda belirtildiği gibi, GNUStep ve Cocotron, Apple'ın sınıf kütüphanelerinin değiştirilmiş sürümlerini sağlar veya kendiniz yazabilirsiniz (tercih ettiğim seçenek).
MinGW, Windows platformunda GCC 4.6 almanın bir yoludur ve MinGW web sitesinden indirilebilir . Yüklediğinizde C, C ++, Objective-C ve Objective-C ++ kurulumunu eklediğinizden emin olun. İsteğe bağlı olsa da, MSYS ortamını yüklemenizi de öneririm.
Kurulduktan sonra Objective-C 2.0 kaynağı aşağıdakilerle derlenebilir:
gcc MyFile.m -lobjc -std=c99 -fobjc-exceptions -fconstant-string-class=clsname (etc, additional flags, see documentation)
MinGW ayrıca yerel GUI Windows uygulamalarını -mwindows
bayrakla derleme desteği de içerir . Örneğin:
g++ -mwindows MyFile.cpp
Henüz denemedim, ancak Objective-C sınıflarınızı mümkün olan en yüksek katmana Objective-C ++ 'da sararsanız, yerel Windows GUI C ++ ve Objective-C'yi bir Windows uygulamasında başarıyla iç içe geçirebilmelisiniz.