Zuerst sollten Sie versuchen, sicherzustellen, dass Ihr GUI-Code und nicht GUI-Back-End-Code sauber in die GUI-App und Bibliotheken getrennt sind, wenn sie nicht bereits vorhanden sind. Dies erleichtert das Testen und vereinfacht die Implementierung der Befehlszeilenschnittstelle, der Webschnittstelle usw. Diese Bibliotheken (Unit-Dateien mit Objekten und Prozeduren) sollten in den meisten Fällen problemlos auf FreePascal kompiliert werden. Sie sollten jedoch den nicht GUI-Code überprüfen und debuggen zuerst.
Sobald das nicht mehr im Weg ist, ist es Zeit, sich die GUI anzusehen. Wenn Sie viele handelsübliche kommerzielle Komponenten von Drittanbietern verwenden, kann es passieren, dass Sie die GUI nicht einfach konvertieren können. Wenn Sie hauptsächlich Bestandskomponenten und/oder Komponenten verwenden, die nach Lazarus portiert wurden, können Sie die GUI tatsächlich konvertieren und unverändert verwenden.
Beachten Sie, dass, da Mac OS und Linux-Programme sind oft angenommen, dass anders aussehen, möchten Sie vielleicht, je nach Ihrer Anwendung berücksichtigen. Mögliche Ansätze sind: 1. Verwenden Sie Lazarus auch unter Windows und verwenden Sie denselben GUI-Code für alle Plattformen. 2. Verwenden Sie Lazarus nur unter OS X und Linux, und passen Sie die GUI an, um nach der Konvertierung etwas nativ zu werden. 3. Codieren Sie eine native GUI für OS X (mit Cocoa und vielleicht XCode), und verknüpfen Sie dann mit Ihrem Pascal-Code für die nicht-GUI-Behandlung. Dies ist unter Linux weniger notwendig, aber Sie haben die Wahl zwischen Toolkits für das zu erstellende LCL (VCL) Backend.
Es gibt starke Befürworter jedes Ansatzes, aber welche davon richtig ist, hängt von Ihren "Umständen" und Ihren Zielen ab.
Wenn Ihr Hauptinteresse OS X ist, sollten Sie der MacPascal-Liste beitreten.
Wine ist ein riesiger Overkill, es sei denn, Sie müssen morgen eine Linux/OS X-App fast ohne Modifikationen herausbringen. (In diesem Fall, warum nicht einfach VMWare?)
Lazarus auf Mac unterstützt QT und Carbon. In der Vergangenheit sogar GTK (habe das seit Jahren nicht mehr versucht). Kakao ist geplant, schreitet aber langsam voran. Ich nehme an, es hängt alles davon ab, wie begierig Sie sind, Ihre App neu zu gestalten, und welche Anforderungen an die GUI Sie haben. –