2010-12-02 9 views
25

He creado un proyecto hello world C++ con Eclipse (helios) CDT. Compiló bien. Pero me gustaría echar un vistazo al Makefile CDT generado. No puedo encontrarlo en la carpeta del proyecto/carpetas de depuración/liberación o en las carpetas src. ¿Dónde puedo encontrar este Makefile?¿Dónde está el Makefile generado por el Eclipse CDT?

Respuesta

17

Si usa los ajustes predeterminados con current builder = CDT internal builder, no hay ningún archivo make. si selecciona current builder = GNU make, verá el archivo MAKE en la carpeta de depuración.

+0

No tengo una carpeta de depuración – JohnyTex

5

De forma predeterminada, debe tener [workspace]/[project folder]/Debug/makefile. ¿Ha realizado algún cambio en el entorno predeterminado?

Aquí está el archivo MAKE proyecto de ejemplo HelloWorld desde una instalación de Helios (ventanas/cygwin):

 
################################################################################ 
# 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 hizo una búsqueda en todo el equipo y no puede encontrar el uno. ¿Se podría generar sobre la marcha y eliminarse automáticamente? – firsttestcdt

+1

Eso es extraño. Incluso después de limpiar todos mis proyectos CDT, sus archivos makefiles no se borran. – belwood

4

La única cosa que puedo pensar es que el makefile no se crea. Haga clic en su proyecto, vaya al menú project ->properties, seleccione C/C++ Build en el panel izquierdo y asegúrese de que la casilla Generate Makefiles automatically esté marcada.

+0

¿Entonces qué? ¿Cuándo debería aparecer el archivo makefile? – JohnyTex

Cuestiones relacionadas