In meinem Szenario habe ich ein C ++ Projekt in CDT Eclipse. Dieses Projekt ist jedoch eher eine Sammlung von einzelnen (Hilfs-) Programmen als eine komplexe Anwendung. Folglich möchte ich in der Lage sein, sie einzeln zu bauen und zu führen.
Meine Projektstruktur ist sehr einfach und sieht so aus:
%Vor%Beachten Sie, dass ich keine allgemeinen Header-Dateien oder Bibliotheken habe. Ich möchte jedoch in der Lage sein, Programme zu diesem Projekt hinzuzufügen, indem ich z. src / appx.cpp
Idealerweise möchte ich Abkürzungen für
habenIrgendwelche Vorschläge, wie Sie dieses Verhalten erreichen können, wenn möglich ohne zusätzliche Plugins?
Der direkte Weg zum Erfolg ist, ein Makefile-Projekt mit CDT zu erstellen und eine neue Zielregel für jede Ihrer Anwendungen innerhalb Ihres Makefile hinzuzufügen. Sie können sogar SCons oder andere Build-Systeme mit einem CDT-Makefile-Projekt verwenden und den gleichen Effekt erzielen.
Sie können das verwaltete Build auch dazu bringen, ausführbare Dateien anstelle von Objektdateien zu erstellen. Entfernen Sie die Option -c
von Andere Flags der C ++ - Compilereinstellungen in den Projekteigenschaften. Dadurch wird eine separate Anwendungsdatei für jede Ihrer Quelldateien erstellt.
Anwendungsdateien, die innerhalb des Build-Verzeichnisses erstellt werden, haben die Erweiterung der Objektdatei und sind nicht ausführbar. Um dies zu beheben, können Sie in Ihrem Projektverzeichnis ein Post-Build-Skript hinzufügen, z. B .:
postbuild.sh
für Linux:
oder postbuild.bat
für Windows:
Nach dem Hinzufügen von ../postbuild.sh
oder ../postbuild.bat
als Post-Build-Befehl in Ihren Build-Einstellungen sind Ihre Anwendungen zur Ausführung bereit. Klicken Sie mit der rechten Maustaste auf eine dieser ausführbaren Dateien und wählen Sie Debug As
oder Run As
und eine neue Run-Konfiguration wird erstellt.
Außerdem müssen Sie den Linker des verwalteten Builds stoppen, um Fehler zu vermeiden. Dies kann durch Ändern des Linker-Befehls in true
(Linux) oder true.exe
(Windows, msys) erreicht werden.
Tags und Links eclipse ide eclipse-cdt c++