2009-07-07 10 views
3

Ich muss eine Schätzung für die Portierung eines eigenständigen Programms auf einen Mac von einer .NET-Plattform geben. Ich habe den ganzen Quellcode, der in C++ ist und ist sowohl Code, den ich schrieb, als auch eine modifizierte Version von GLUT/GLUI, weil das Programm OpenGL und GLUT/GLUI als UI benutzt.Portierung von .NET C++ - Standalone auf Mac

Ich glaube nicht, dass der C++ - Code ein Problem oder die OpenGL-Umgebung sein wird, bitte sagen Sie mir, wenn Sie denken, dass es sein wird. In .NET verwende ich OpenGL32.DLL und stelle es mit meiner App bereit. Ich muss herausfinden, wie das für einen Mac gemacht wird?

Ich muss wirklich wissen, was die aktuelle Bereitstellungsmethode für Mac's in diesen Tagen ist und wie schwer es für mich sein wird, dafür zu schreiben. Für .NET verwende ich Visual Studio für die Anwendungsentwicklung und -bereitstellung, ich mache ein neues VS-Projekt, um das bereitstellbare MS-Installationsprogramm zu erstellen.

Der Bereitstellungsprozess ermöglicht auch Dinge wie das Platzieren einer Desktopverknüpfung, das Verknüpfen eines eindeutigen Symbols mit dem Programm ... Welche Bereitstellungsoptionen kann man auf einem Mac auswählen? Was werden Ihrer Meinung nach die größten Hindernisse sein?

Es gibt keine .NET Framework-Aufrufe innerhalb des Codes. Die Bereitstellungsphase erstellt eine .NET-Assembly mit allen Sicherheitsfunktionen. Ich denke, das ist die Hauptbeziehung zu .NET, da es gerade C++ und nicht C# ist.

+0

Ist dies ein nicht verwaltetes Projekt, kompilieren für die Win32-Plattform? Wenn Sie eine der .NET-Framework-Bibliotheken verwenden, wird der Portierungsprozess immens kompliziert. Aber alle Standard-C++ - Bibliotheken für Win32 sollten branchenweite Standards sein und daher mit Mac/Linux usw. kompatibel sein. Weiß nicht über OpenGL ... – Giffyguy

+0

Welche Rolle spielt .NET? Ist das eine C++/CLI-Anwendung oder natives C++? Gibt es .NET-Komponenten? Von der Art, wie Sie .NET sagen, klingt es, als ob es ein Betriebssystem wäre, was es nicht ist. – jalf

Antwort

2

Die Entwicklung sollte eher geradlinig sein. Sie können OpenGL/GLUT/etc ... über das Cocoa-Framework ausführen. Schauen Sie sich this example from Apple an, um zu sehen, wie es im Code gemacht wird.

Wie bei den Entwicklungswerkzeugen können Sie Xcode verwenden (kostenlos mit dem Mac). Sie können in C++ entwickeln und mit GCC kompilieren.

+0

Wie ist die Bereitstellung auf einem Mac? – jeffD

+0

Die Anwendung kann in eine einzelne Binärdatei kompiliert werden. Viele Entwickler gestalten ihre Apps so, dass sie einfach in den Ordner Anwendungen gezogen werden können. Weitere Informationen finden Sie im folgenden Artikel: http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGInstallationsUpdates/XHIGInstallationsUpdates.html –