Frage

Was wäre der beste Weg zu schreiben, Objective-C auf der Windows-Plattform?

Cygwin und gcc?Gibt es eine Möglichkeit, kann ich irgendwie integrieren Sie diese in Visual Studio?

Entlang dieser Linien gibt es irgendwelche Vorschläge, wie link und verwenden Sie das Windows SDK für so etwas.Seine ein anderes Tier, aber ich weiß, ich kann schreiben, Montage und Verknüpfung in der Windows-DLLs mir Zugänglichkeit zu alle Anrufe, aber ich weiß nicht, wie dies zu tun, ohne zu googeln und immer schrittweisen Anweisungen.

Ist jemand bekannt, der einen guten online-oder Buch-Ressource zu tun oder zu erklären, diese Art von Dingen?

War es hilfreich?

Lösung

Die Erweiterung auf den beiden vorherigen Antworten, wenn Sie nur Objective-C wollen, aber keine der Cocoa-Frameworks, dann gcc auf jeder Plattform arbeiten. Sie können es durch Cygwin verwenden oder MinGW bekommen. wenn Sie das Cocoa-Frameworks jedoch wollen, oder zumindest eine vernünftige Untermenge von ihnen, dann GNUStep und Cocotron sind Ihre besten Wetten.

Cocotron implementiert eine Menge Sachen, die GNUStep nicht, wie Core Graphics und Coredata, obwohl ich nicht einstehen können, wie füllen ihre Implementierung auf einem speziellen Rahmen ist. Ihr Ziel ist es Cocotron zu halten up to date mit der neuesten Version von OS X, so dass jedes tragfähige O X-Programm unter Windows ausgeführt werden kann. Da GNUStep der Regel die neueste Version von gcc verwendet, fügen sie auch Unterstützung für Objective-C ++ und viele der Objective-C 2.0-Features.

Ich habe nicht diese Funktionen mit GNUStep getestet, aber wenn man eine ausreichend neue Version von gcc verwenden, können Sie in der Lage sein, sie zu nutzen. Ich war nicht in der Lage, vor Objective-C ++ mit GNUStep ein paar Jahren zu verwenden. Allerdings ist GNUStep von fast jede Plattform kompilieren. Cocotron ist ein sehr mac-centric Projekt. Obwohl es wahrscheinlich möglich ist, es auf anderen Plattformen zu kompilieren, kommt es XCode Projektdateien, nicht Makefiles, so dass Sie nur die Gerüste aus der Box auf OS X kompilieren Es kommt auch mit Anweisungen unter Windows kompilieren apps auf XCode, aber nicht jede andere Plattform. Im Grunde ist es wahrscheinlich möglich, eine Windows-Entwicklungsumgebung für Cocotron einzurichten, aber es ist nicht so einfach wie Einstellung eines nach oben für GNUStep, und Sie werden auf eigene Faust, so GNUStep ist definitiv der Weg zu gehen, wenn Sie die Entwicklung auf Fenster im Gegensatz zu nur für Windows.

Für das, was es wert ist, wird Cocotron unter der MIT-Lizenz veröffentlicht und GNUStep wird unter der LGPL lizenziert.

Andere Tipps

Sie können Objective C innerhalb der Windows-Umgebung verwenden. Wenn Sie diese Schritte ausgeführt haben, sollte es ganz gut funktionieren:

  1. Besuchen Sie die GNUstep Webseite und Download GNUstep MSYS Subsystem (MSYS für GNUstep), GNUstep Core (Bibliotheken für GNUstep) und GNUstep Devel
  2. Nach dem Herunterladen dieser Dateien, installieren, in dieser Reihenfolge, oder Sie werden Probleme mit der Konfiguration haben
  3. Navigieren zu C:\GNUstep\GNUstep\System\Library\Headers\Foundation 1 und stellen Sie sicher, dass Foundation.h existiert
  4. Sie eine Eingabeaufforderung öffnen und ausführen gcc -v dass GNUstep MSYS zu überprüfen, korrekt installiert ist (wenn Sie eine Datei nicht gefunden Fehlermeldung erhalten, stellen Sie sicher, dass der bin Ordner GNUstep MSYS in Ihrem PATH ist)
  5. Mit diesem einfachen "Hallo Welt" Programm GNUstep Funktionalität testen:

    #include <Foundation/Foundation.h>
    
    int main(void)
    {
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
        NSLog(@"Hello World!.");
        [pool drain];
     return;
    }
    
  6. Gehen Sie zurück zur Eingabeaufforderung und cd, wo Sie das "Hallo Welt" Programm gespeichert und dann kompilieren: 2

    gcc -o helloworld.exe <HELLOWORLD>.m -I /GNUstep/GNUstep/System/Library/Headers -L /GNUstep/GNUstep/System/Library/Libraries -std=c99 -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
    
  7. Schließlich von der Eingabeaufforderung geben Sie helloworld es auszuführen

Alles Gute und viel Spaß mit Objective-C!


NOTES: :

  1. Ich habe den Standardpfad installieren - passen Sie Ihre Befehlszeile entsprechend
  2. Stellen Sie sicher, der Ordnerpfad von Ihnen ähnlich wie mir ist, sonst wird eine Fehlermeldung angezeigt

Auch:

  

Die Cocotron ist ein Open-Source-Projekt, die einen plattformübergreifende Objective-C-API ähnlich den von Apple Inc. Cocoa Dokumentation beschrieben implementieren soll. Dazu gehört auch die AppKit, Foundation, Objective-C-Laufzeit und Unterstützung APIs wie Core Graphics und Corefoundation.

http://www.cocotron.org/

WinObjC? Windows-Brücke für iOS (früher bekannt als ‚Projekt Islandwood‘).

Windows-Brücke für iOS (auch als WinObjC bezeichnete) ist ein Microsoft Open-Source-Projekt, das eine Objective-C-Entwicklungsumgebung für Visual Studio / Windows bietet. Darüber hinaus bietet WinObjC Unterstützung für iOS-API-Kompatibilität. Während die endgültige Version später in diesem Herbst passieren wird (so dass die Brücke die Vorteile der neuen Werkzeugfunktionen zu übernehmen, die mit dem kommenden Visual Studio 2015-Update ausgeliefert wird),

Die Brücke ist auf die Open-Source-Community jetzt in seinem aktuellen Zustand zur Verfügung. Zwischen heute und dem Herbst. Die iOS-Brücke als Open-Source-Projekt unter der MIT-Lizenz. In Anbetracht der Ehrgeiz des Projekts, so dass es leicht für iOS-Entwickler zu erstellen und auszuführen Anwendungen unter Windows.

Salmaan Ahmed hat eine eingehende Post auf der Windows-Brücke für iOS http://blogs.windows.com/buildingapps/2015/08/06/windows-bridge-for-ios-lets-open-this-up/ den Compiler zu diskutieren, Laufzeit, IDE-Integration, und das, was die Brücke ist und nicht ist. Best of all, der Quellcode für die iOS-Brücke ist live auf GitHub jetzt.

Die iOS-Brücke unterstützt Windows 8.1 und Windows 10-Anwendungen für x86 und x64-Prozessorarchitekturen gebaut, und bald werden wir Compiler-Optimierungen und Unterstützung für ARM hinzufügen, die mobile Unterstützung hinzufügt.

Ich habe gemischte Gefühle über das Cocotron Projekt. Ich bin froh, dass sie Quellcode veröffentlichen und zu teilen, aber ich glaube nicht, dass sie Dinge tun, der einfachste Weg.

Beispiele.
Apple hat den Quellcode der Objective-C Laufzeit , die beinhaltet Eigenschaften und Garbage collection. Das Cocotron Projekt hat jedoch ihre eigene Implementierung der Objective-C-Laufzeit. Warum sich die Mühe um den Aufwand zu duplizieren? Es gibt sogar eine Visual Studio-Projektdatei, die verwendet werden kann, eine objc.dll-Datei zu erstellen. Oder wenn Sie wirklich faul sind, können Sie einfach kopieren Sie die DLL-Datei von einer Installation von Safari unter Windows.

Sie störte auch nicht Corefoundation zu nutzen, die auch von Apple bezogen ist offen. Ich schrieb einen Frage darüber aber keine Antwort erhalten.

Ich denke, die aktuell beste Lösung ist, Quellcode aus mehreren Quellen zu nehmen (Apfel, CocoTron, GNUstep) und führen Sie sie zusammen, was Sie brauchen. Sie werden eine Menge von Quelle zu lesen, aber es wird das Endergebnis wert sein.

Überprüfen Sie heraus WinObjC :

https://github.com/Microsoft/WinObjC

Es ist ein offizieller, Open-Source-Projekt von Microsoft, die mit Visual Studio + Windows-integriert.

Wenn Sie nur experimentieren wollen, gibt es eine Objective-C-Compiler für .NET (Windows) hier: qckapp

Sie können einen objektiven C-Compiler erhalten, die mit Windows arbeiten und mit Visual Studio 2008 \ 2010 hier schön spielen.

open-c flite

Nur die neueste Quelle herunterladen. Sie brauchen nicht alle CF-Lite bauen es eine Lösung objc.sln genannt wird. Sie werden einige der Pfade enthalten reparieren müssen, aber dann wird es bauen einfach gut. Es gibt sogar ein Testprojekt enthalten, damit Sie einige Objective-C sehen .m-Dateien werden in Visual Studio erstellt und arbeiten. Eine traurige Sache ist es funktioniert nur mit Win32 nicht x64. Es gibt einig Assembler-Code, die für x64 geschrieben werden müßte dafür, dass zu unterstützen.

Get GNUStep hier

Get mingw hier

Installieren mingw  installieren Sie GNUStep  Dann Test

Wenn Sie mit Visual Studio-Umgebung vertraut sind,

Kleines Projekt: jGRASP mit gcc Großprojekt: Cocotron

Ich habe gehört, es gibt Emulatoren, aber ich konnte nur Apple II Emulator http://virtualapple.org/ finden. Es sieht aus wie auf Spiele beschränkt.

Zunächst einmal vergessen GNUStep Werkzeuge. Weder Projectmanager noch Project kann eine IDE aufgerufen werden. Bei allem Respekt, es sieht aus wie Jungs von GNUStep Projekt in den späten 80-er stecken (was ist, wenn Nextstep zuerst erschienen).

Vim

ctags Unterstützung Objective-C seit r771 (unbedingt die Pre holen -release 5.9 Version und fügen --langmap=ObjectiveC:.m.h an die Befehlszeile finden Sie unter href="https://stackoverflow.com/a/5790832/1343979">), so dass Sie anständige Code-Vervollständigung / Tag haben werden Navigation.

Hier ist eine kurze Howto auf Objective-C Unterstützung Vim Tagbar Plugin hinzugefügt wird.

Emacs

Das gleiche gilt mit modernen Emacsen ausgeliefert etags, so können Sie mit Emacs starten Objective C-Modus . YASnippet werden nützliche Vorlagen bieten:

und wenn Sie etwas intelligenter als der Grund-Tags-basierten Code-Vervollständigung nehmen, einen Blick auf diese Frage .

Eclipse-

CDT unterstützt Makefile-basierte Projekte:

- technisch so können Sie Ihre Objective-C-Projekte aus der Box bauen (unter Windows, müssen Sie die Cygwin oder MinGW Toolchain). Das einzige Problem ist der Code-Editor, der viele Fehler gegen berichten, was er denkt, ist ein reiner C Code (on-the-fly-Code Prüfung abgeschaltet werden kann, aber immer noch ...). Wenn Sie die richtige Syntax-Hervorhebung möchten, können Sie hinzufügen Eclim Ihre Eclipse- und genießen alle gute Eigenschaften beide Eclipse- und Vim (siehe oben).

Ein weiterer vielversprechender Eclipse- Plugin ist Colorer , aber es doesn‘ t Unterstützung Objective-C als der noch. Fühlen Sie sich frei, obwohl eine Feature-Anfrage einreichen.

SlickEdit

SlickEdit unter andere Funktionen einer großen IDE, funktioniert Unterstützung Objective-C. Während es ziemlich komplex ist (nicht so komplex wie Emacs obwohl) zu lernen, ich glaube, dies ist die beste Option, die Sie nicht zur Verfügung gestellt nichts dagegen den Kauf (der Preis ist durchaus erschwinglich).

Darüber hinaus hat es eine Eclipse-Plugin , die verwendet werden können, als Alternative zum Stand-alone-Editor.

KDevelop

Es wird gemunkelt, gibt es eine KDevelop Patch (15 Jahre alt, aber wen interessiert das?). Ich persönlich glaube nicht, KDevelop ist funktions überlegen im Vergleich zu Emacsen , also würde ich nicht die Mühe, es zu versuchen.


Das Vorstehende gilt auch für Objective-C Entwicklung auf Linux, da alle genannten Werkzeuge sind mehr oder weniger tragbar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top