2016-03-28 10 views
0

Ich versuche, eine einzelne Datei zu kompilieren. Das Projekt hat eine externe Make-Datei. Ich habe "Automatisch erstellen" deaktiviert. Klicken Sie mit der rechten Maustaste auf die Datei, ich sehe das Kontextmenü "Ausgewählte Datei (en) erstellen", aber es ist deaktiviert (ausgegraut).Eclipse CDT, Wie kompiliere ich eine einzelne C++ Datei?

Würde mich über jede Hilfe freuen!

+0

dies sehen, ob es hilft: http://stackoverflow.com/questions/5656252/why-is-build-project-greyed-out-in-eclipse-helios-cdt-even-though- the-makefile Zusätzliche Hilfe für den Fall, dass Sie Folgendes benötigen: 1. makefile wird automatisch im Debug-Ordner erstellt. Wenn Sie das nicht verwenden möchten, können Sie versuchen, ein eigenes Makefile in den Ordner zu legen. 2. Navigieren Sie zu den Projekteigenschaften -> C/C++ Build -> Dateigenerierung -> und deaktivieren Sie "Generate Make files automatically ". 3. Wenn Sie Ihre Build-Konfigurationen noch nicht festgelegt haben, gehen Sie zu Projekteigenschaften -> Run/Debug-Einstellungen -> Aktualisieren Sie Ihre Projekteinstellungen – animageofmine

+0

@animageofmine Es ist wahrscheinlich besser, nur einen "Empty Makefile" -Projekttyp zu erstellen 'C++ Projects' Wizzard. – Galik

Antwort

0

Haben Sie das Projekt als Makefile Projekt erstellt?

Öffnen Sie die Makefile im Editor und wählen Sie dann das Outline Fenster (sollte auf der rechten Seite sein). Wenn es nicht sichtbar ist, öffnen Sie es über das Menü: Window -> Show View -> Outline. Während Sie dort sind, stellen Sie sicher, dass die Make Target Ansicht mit Menü geöffnet ist: Window ->Show View -> Make Target. Im Fenster Outline sollten Sie die Makefile Symbole und Ziele aufgelistet finden. Wählen Sie die Ziele, die Sie verwenden möchten (z. B. all und clean), klicken Sie mit der rechten Maustaste darauf, und fügen Sie sie zum Fenster Make Target hinzu.

Sobald sie im Make Target Fenster erscheinen, doppelklicken Sie einfach auf sie, um make aufzurufen.

Gliederung Fenster Makefile:

enter image description here

Make Fenster Target.

enter image description here

+0

Zunächst einmal vielen Dank für diese ausgearbeiteten Kommentare! Ich habe getan, was du gesagt hast. Ich habe dieses Build-Ziel: build: make -f objs/Makefile, aber wenn ich den C-Code ändere und "build" sage, bekomme ich die Nachricht: "Keine Regel, um das Ziel zu 'bauen'. Stop." –

+0

@BehzadPirvali Sie sollten Ihrem make-Befehl keine Flags hinzufügen müssen, um eine bestimmte Makefile auszuführen. Öffnen Sie einfach 'objs/Makefile' im Editor, gehen Sie zur Ansicht 'Outline' und fügen Sie die * Ziele * hinzu. Es sollte dann einfach funktionieren, indem Sie auf die Ziele in der 'Make Target'-Ansicht doppelklicken. – Galik

+0

Danke für die schnelle Antwort. Ja, das kann ich natürlich. In meinem Fall schreibe ich ein Nginx-Modul. Also, das Makefile ist das Nginx zu bauen. Das Makefile wird automatisch generiert. In dem automatisch generierten Makefile wird die geänderte Datei jedoch nicht mit einem Ziel verknüpft :) –

Verwandte Themen