Saya sadar ini adalah posting yang sangat lama, tetapi saya telah menemukan solusi yang baru saja tersedia dan memungkinkan hampir semua fitur Objective-C 2.0 pada platform Windows.
Dengan munculnya gcc 4.6, dukungan untuk fitur bahasa Objective-C 2.0 (blok, sintaksis titik, properti yang disintesis, dll) telah ditambahkan ke kompiler Objective-C (lihat catatan rilis untuk detail lengkap). Runtime mereka juga telah diperbarui agar berfungsi hampir identik dengan runtime Objective-C 2.0 milik Apple. Singkatnya ini berarti bahwa (hampir) program apa pun yang akan dikompilasi secara sah dengan Dentang pada Mac juga akan dikompilasi dengan gcc 4.6 tanpa modifikasi.
Sebagai catatan tambahan, satu fitur yang tidak tersedia adalah kamus / array / dll literal karena mereka semua hard-coded ke Dentang untuk menggunakan NSDictionary, NSArray, NSNumber, dll kelas Apple.
Namun, jika Anda senang hidup tanpa kerangka kerja Apple yang luas, Anda bisa. Seperti disebutkan dalam jawaban lain, GNUStep dan Cocotron menyediakan versi pustaka kelas Apple yang dimodifikasi, atau Anda dapat menulis sendiri (opsi pilihan saya).
MinGW adalah salah satu cara untuk mendapatkan GCC 4.6 di platform Windows, dan dapat diunduh dari situs web The MinGW . Pastikan ketika Anda menginstalnya Anda menyertakan instalasi C, C ++, Objective-C dan Objective-C ++. Sementara opsional, saya juga menyarankan menginstal lingkungan MSYS.
Setelah diinstal, sumber Objective-C 2.0 dapat dikompilasi dengan:
gcc MyFile.m -lobjc -std=c99 -fobjc-exceptions -fconstant-string-class=clsname (etc, additional flags, see documentation)
MinGW juga menyertakan dukungan untuk mengkompilasi aplikasi Windows GUI asli dengan -mwindows
flag. Sebagai contoh:
g++ -mwindows MyFile.cpp
Saya belum mencobanya, tapi saya bayangkan jika Anda membungkus kelas Objective-C Anda di Objective-C ++ pada lapisan tertinggi yang mungkin, Anda harus dapat berhasil menjalin Windows GUI C ++ asli dan Objective-C semua dalam satu Aplikasi Windows.