2017-07-28 9 views
1

Ich habe eine Remote-, Cross-Build und ich möchte manuell die GCC-Befehlszeile aus dem Makefile-Build, und verwenden Sie es, um die Eclipse-CDT-Projektdatei mit Include-Pfade und Präprozessor einzurichten Definitionen. Wie kann ich das machen?Convert GCC-Befehlszeile in Eclipse CDT-Projektdatei

+0

Ich würde persönlich eine schnelle Cmake-Eingabedatei schreiben und die Eclipse-CDT-Projektdatei generieren. – malat

+1

Werfen Sie einen Blick auf https://help.eclipse.org/oxygen/topic/org.eclipse.cdt.doc.user/tasks/cdt_t_sd.htm –

Antwort

2

Der übliche Weg dazu ist die Verwendung des Build Output Parser.

  • ein Projekt Makefile erstellen
  • die Build-Ausgabe Parser in Project Properties | C/C++ General | Preprocessor Include Paths, Macros etc. | Providers tab aktivieren (in Kraft bereits aktiviert sein).

    • konfigurieren es bei Bedarf (zum Beispiel das „Compiler-Befehlsmuster“ müssen möglicherweise angepasst werden, um Ihren Cross-Compiler den Namen übereinstimmen.)
  • Stellen Sie sicher, dass das Projekt von Eclipse bauen. Konfigurieren Sie bei Bedarf den Namen und das Aufrufverzeichnis für make make in Project Properties | C/C++ Build.

  • Rufen Sie den Build in Eclipse auf.

    • Die Build-Ausgabe Parser wird automatisch am Ende des Build, analysiert, um die Compiler Befehle in der Build-Ausgabe ausgeführt und konfiguriert das Projekt umfasst die Pfade und Präprozessor definiert zu den Befehlen basierten.

Hinweis: für diese arbeiten, die Build-Ausgabe muss tatsächlich enthalten die rohen Compiler Befehle. Manchmal, z.B. Bei CMake-generierten Makefiles ist dies nicht standardmäßig, aber es gibt eine Option, um es zu aktivieren. Wenn dies der Fall ist, stellen Sie sicher, dass der in Project Properties | C/C++Build angegebene Buildbefehl diese Option enthält.

+0

Danke HighCommand - das ist in der Tat der richtige Weg, dies für einen lokalen zu tun bauen. In meiner Situation baue ich remote auf einer anderen Maschine über ssh, so dass die in Eclipse verwendeten Pfade ein anderes Präfix als die in der Build-Ausgabe verwendeten haben. Kann der Build-Ausgabe-Parser das handhaben? Gibt es eine Möglichkeit für mich, eine einzelne gcc-Befehlszeile in den Build-Ausgabe-Parser zu schneiden und einzufügen und die Includes und Defines einzurichten? – Simon

+1

@Simon Die Pfade von Dateien sind nicht wichtig, aber es ist wichtig, dass der Build-Ausgabe-Parser den Compiler-Befehl erkennt. Die Möglichkeit, das "Compiler-Befehlsmuster" anzupassen, sollte dabei helfen. – HighCommander4

+1

@Simon Sie könnten ein Dummy-Makefile schreiben, das nur die fragliche Befehlszeile enthält. – HighCommander4