Sono consapevole che questo è un post molto vecchio, ma ho trovato una soluzione che è diventata disponibile solo di recente E abilita quasi tutte le funzionalità di Objective-C 2.0 sulla piattaforma Windows.
Con l'avvento di gcc 4.6, il supporto per le funzionalità del linguaggio Objective-C 2.0 (blocchi, sintassi punto, proprietà sintetizzate, ecc.) È stato aggiunto al compilatore Objective-C (vedere le note di rilascio per tutti i dettagli). Il loro runtime è stato inoltre aggiornato per funzionare in modo quasi identico al runtime Objective-C 2.0 di Apple. In breve, ciò significa che (quasi) qualsiasi programma che verrà legittimamente compilato con Clang su un Mac verrà compilato anche con gcc 4.6 senza modifiche.
Come nota a margine, una caratteristica che non è disponibile sono i dizionari / array / etc letterali poiché sono tutti codificati in Clang per utilizzare le classi NSDictionary, NSArray, NSNumber, ecc. Di Apple.
Tuttavia, se sei felice di vivere senza i vasti framework di Apple, puoi farlo. Come notato in altre risposte, GNUStep e Cocotron forniscono versioni modificate delle librerie di classi di Apple, oppure puoi scrivere la tua (la mia opzione preferita).
MinGW è un modo per ottenere GCC 4.6 sulla piattaforma Windows e può essere scaricato da sito Web di MinGW . Assicurati che quando lo installi includi l'installazione di C, C ++, Objective-C e Objective-C ++. Sebbene facoltativo, suggerirei anche di installare l'ambiente MSYS.
Una volta installato, il sorgente Objective-C 2.0 può essere compilato con:
gcc MyFile.m -lobjc -std=c99 -fobjc-exceptions -fconstant-string-class=clsname (etc, additional flags, see documentation)
MinGW include anche il supporto per la compilazione di applicazioni Windows GUI native con -mwindows
flag. Per esempio:
g++ -mwindows MyFile.cpp
Non l'ho ancora provato, ma immagino che se avvolgi le tue classi Objective-C in Objective-C ++ al livello più alto possibile, dovresti essere in grado di intrecciare con successo la GUI nativa di Windows C ++ e Objective-C in un'unica applicazione Windows.