C++ Dev: OS X Workstation, Build/Run/Debug auf einem Remote-Linux-Rechner?

Ich bin ein OS X-"Flüchtling", der an einer Linux-spezifischen C++-Codebasis arbeitet (CMake-basiert, falls das wichtig ist).

Ich habe versucht, einen anständigen Workflow zu finden, mit dem ich die Quelle (vorzugsweise mit umfangreicher Bearbeitungsunterstützung, wie Code-Vervollständigung usw.) unter OS X bearbeiten, aber die Quelle auf einem entfernten Linux-Computer erstellen, ausführen und debuggen kann. Die Verbindung zwischen den Maschinen ist schnell und flexibel – ich kann Verzeichnisse oder SSH/SFTP oder was auch immer teilen – also sollte das im Idealfall kein großes Problem sein.

Ich habe mir NetBeans angesehen, das diesen Workflow explizit unterstützt, aber es ist so klobig, dass es nicht wesentlich besser ist, als Eclipse auf dem Remote-Linux-Rechner über X Windows auszuführen (eine beschissene Erfahrung für sich). Es sieht aus wie viele von Die JetBrains-IDEs unterstützen solche Dinge (PyCharm tut das sicherlich, und ich bin ein Fan), aber ihr im Entstehen begriffenes C++-Angebot, CLion, unterstützt noch keine Remote-Entwicklung. (Es wird von einem Problem verfolgt )

Hat jemand Empfehlungen? Ich versuche hauptsächlich, die Texteingabekonventionen von OS X (dh KB-Shortcuts) und die native Benutzeroberfläche im OS X-Stil beizubehalten. Auch bereit, Sachen zu hacken, im Rahmen des Zumutbaren. Irgendwelche Ideen?

Antworten (1)

Verwenden Sie fast IDE mit Remote-Debug-Funktion für Ihr Projekt in einem gemeinsam genutzten Verzeichnis und fügen Sie entweder den Make-Schritt wie folgt hinzu:

  • einen Remote-Laufvorbereitungsschritt,
  • als Makro auf der lokalen IDE oder
  • Verwenden Sie eine Cross-Compiler-Toolkette, um auf Max aufzubauen, und führen Sie sie dann als Remote-Debug-Sitzung aus.

Ich weiß aus persönlicher Erfahrung, dass die GCC-Tools sowohl Cross-Compiler- als auch Remote-Debug-Clients enthalten (der GCC-Client hat sogar Einrichtungen zum Herunterladen des erstellten Codes vor dem Debuggen) und dass viele IDEs, einschließlich Eclipse, Code::Blocks , (es gibt ein OS-X-Build) und viele andere enthalten Einrichtungen, um diese Tools genau so zu verwenden, wie wir es in der Embedded-Entwicklungswelt ständig tun.