Verwenden eines benutzerdefinierten Makefiles mit Eclipse/CDT [duplicate]

Lesezeit: 3 Minuten

Benutzeravatar von Stoiko
Stoiko

Ich habe ein Projekt mit mehreren .c und .h Dateien und ich schreibe mein eigenes Makefile.

Wie kann ich Eclipse so konfigurieren, dass mein Makefile und meine Quelldateien von ihren ursprünglichen Speicherorten verwendet werden?

Sie können ein benutzerdefiniertes Makefile erstellen und sicherstellen, dass es sich in Ihrem Projektstamm befindet. Dann müssen Sie die automatisch generierten Makefiles deaktivieren. Sie können das tun, indem Sie hier gehen:

Project Properties (right click on project and select properties) -> C/C++ Build -> in that window uncheck "Generate Makefiles Automatically."

Um Ihre eigenen Ziele zu verwenden, können Sie die Ansicht “Ziel erstellen” öffnen:

Window -> Show View -> Make Target

In dieser Ansicht können Sie ein neues Ziel erstellen, das das entsprechende Ziel in Ihrem benutzerdefinierten Makefile verwendet.

  • Was ist, wenn Sie diese Ansicht nicht haben?

    – CompEng88

    13. Dezember 2017 um 15:43 Uhr

  • Stellen Sie sicher, dass Sie zuerst die erweiterten Einstellungen anzeigen. In der linken unteren Ecke des Eigenschaften-Popups gibt es eine Option: „Erweiterte Einstellungen anzeigen“

    – Wallem89

    21. September 2020 um 14:01 Uhr

Es besteht die Möglichkeit, ein Projekt aus bestehenden Makefiles zu erstellen: Verwenden Sie den “Project Wizard” und wählen Sie “Makefile-Projekt”.

  • Können Sie damit Ihr Makefile bearbeiten, anstatt es wie Eclipse tun zu müssen?

    – Peter Cordes

    11. Dezember 2009 um 2:52 Uhr

  • @Peter: Sie können Ihre Makefiles nach Belieben bearbeiten, und Eclipse berührt sie nicht … zumindest habe ich sie so verwendet. Vielleicht gibt es esoterische Optionen, die ich noch nicht berührt habe 🙂

    – Jldupont

    11. Dezember 2009 um 3:08 Uhr

Sie können “Makefiles automatisch generieren” in den Eclipse-Projekteigenschaften -> c/c++ Build (Builder-Einstellungen) deaktivieren.

Benutzeravatar von Narada Fernando
Narada Fernando

Bei meinem letzten Versuch, eine Cross-ARM-Kompilierung zu kompilieren, habe ich eine schmerzhafte Entdeckung gemacht, wie man das zum Laufen bringt.

Zuerst habe ich ein “Makefile-Projekt mit vorhandenem Code” erstellt. Ich habe die Cross ARM-Toolkette ausgewählt. Wenn ich jetzt eine Konsole innerhalb von Eclipse öffne und mache, funktioniert es.

Um nun innerhalb der GUI zu bauen, musste ich:

  1. Ändern Sie die Eigenschaften zu Internal Builder, wobei Generate Makefile aktiviert ist.
  2. Die Einstellungsoption bietet jetzt die Registerkarte Artefakt erstellen. ausführbare Datei mit ${Project} auswählen.
  3. Bauen. Dies führt zu einem Fehler in der Linkphase.
  4. Schalten Sie die Einstellungen auf External Builder um, deaktivieren Sie “Automatic Makefile generation”.
  5. Sauber
  6. Bauen

Alles, was Sie tun müssen, ist gmake anzuweisen, Ihr Makefile zu verwenden. Der Standardbefehl für Code Composer Studio ist ${CCS_UTILS_DIR}/bin/gmake. Sagen Sie gmake einfach, dass es Ihr eigenes Makefile verwenden soll (z sri.mk). Wir tun dies mit der Option -f. Der Standardbefehl würde also werden ${CCS_UTILS_DIR}/bin/gmake -f ../sri.mk

Beachten Sie, dass Code Composer Studio auf Eclipse basiert.

Hier sind die Anweisungen:

  1. Projekt->Eigenschaften->C/C++ Build
  2. Klicken Sie auf die Registerkarte “Builder”.
  3. Deaktivieren Sie „Standard-Build-Befehl verwenden“
  4. Ändern Sie den Befehl in ${CCS_UTILS_DIR}/bin/gmake -f ../sri.mk

Screenshot der GUI-Einstellungen

Beachten Sie, dass der Build von gestartet wird Debug Verzeichnis. Das Debug Verzeichnis enthält die Makefiles, die von Eclipse generiert werden. Ich habe mein Makefile im Verzeichnis der obersten Ebene des Projekts abgelegt, deshalb habe ich es abgelegt ../ in -f ../sri.mk.

Benutzeravatar von keaukraine
Keukraine

Es könnte auch eine Zeile geben, die besagt "default: esh $(PLUGIN_SO)," oder so ähnlich, je nach Projekt. Ich habe festgestellt, dass sich das ändert "default" zu "all" wird es dem Projekt ermöglichen, auch zu kompilieren. Das ist eine praktische Funktion, Sonnenfinsternis 🙂

1405360cookie-checkVerwenden eines benutzerdefinierten Makefiles mit Eclipse/CDT [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy