2010-12-02 5 views
25

Ich habe eine Hallo Welt C++ Projekt mit Eclipse (helios) CDT gebaut. Es ist gut zusammengestellt. Aber ich würde mir gerne das generierte Makefile CDT ansehen. Ich kann es nicht in Projektordner/Debug/Release-Ordner oder in den src-Ordnern finden. Wo finde ich dieses Makefile?Wo ist das Makefile von der Eclipse CDT erzeugt?

Antwort

17

Wenn Sie den Standard setttings mit current builder = CDT internal builder verwenden, gibt es keine Make-Datei. wenn Sie current builder = GNU make wählen, werden Sie die Make-Datei im Debug-Ordner.

+0

Ich habe keinen Debug-Ordner – JohnyTex

5

Standardmäßig sollten Sie [Arbeitsbereich]/[Projektordner]/Debug/Makefile haben. Haben Sie Änderungen an der Standardumgebung vorgenommen?

Hier ist die Hello World Beispielprojekt Make-Datei von einer Helios (Fenster/Cygwin) Installation:

 
################################################################################ 
# Automatically-generated file. Do not edit! 
################################################################################ 

-include ../makefile.init 

RM := rm -rf 

# All of the sources participating in the build are defined here 
-include sources.mk 
-include subdir.mk 
-include src/subdir.mk 
-include objects.mk 

ifneq ($(MAKECMDGOALS),clean) 
ifneq ($(strip $(C++_DEPS)),) 
-include $(C++_DEPS) 
endif 
ifneq ($(strip $(C_DEPS)),) 
-include $(C_DEPS) 
endif 
ifneq ($(strip $(CC_DEPS)),) 
-include $(CC_DEPS) 
endif 
ifneq ($(strip $(CPP_DEPS)),) 
-include $(CPP_DEPS) 
endif 
ifneq ($(strip $(CXX_DEPS)),) 
-include $(CXX_DEPS) 
endif 
ifneq ($(strip $(C_UPPER_DEPS)),) 
-include $(C_UPPER_DEPS) 
endif 
endif 

-include ../makefile.defs 

# Add inputs and outputs from these tool invocations to the build variables 

# All Target 
all: HelloWorld.exe 

# Tool invocations 
HelloWorld.exe: $(OBJS) $(USER_OBJS) 
     @echo 'Building target: [email protected]' 
     @echo 'Invoking: Cygwin C++ Linker' 
     g++ -o"HelloWorld.exe" $(OBJS) $(USER_OBJS) $(LIBS) 
     @echo 'Finished building target: [email protected]' 
     @echo ' ' 

# Other Targets 
clean: 
     -$(RM) $(C++_DEPS)$(OBJS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) HelloWorld.exe 
     [email protected] ' ' 

.PHONY: all clean dependents 
.SECONDARY: 

-include ../makefile.targets 
+0

thanks.I tat auf den gesamten Computer eine Suche und die man nicht finden. Es könnte im laufenden Betrieb generiert und automatisch gelöscht werden? – firsttestcdt

+1

Das ist seltsam. Auch nachdem ich alle meine CDT-Projekte säubere, werden ihre Makefiles nicht gelöscht. – belwood

4

Das einzige, was ich denken kann, ist, dass die Make-Datei wird nicht erstellt. Klicken Sie auf Ihr Projekt, gehen Sie zum Menü project ->properties, wählen C/C++ Build im linken Fensterbereich, und stellen Sie sicher, dass das Generate Makefiles automatically Kontrollkästchen aktiviert ist.

+0

Was dann? Wann sollte das Makefile-Popup geöffnet werden? – JohnyTex