我不能使用“gcc arm”使用“math.h”与eclipse kepler一起工作

时间:2015-01-30 02:56:24

标签: eclipse arm

我使用本教程设置了我的所有软件:http://www.angstromsandalgorithms.com/free-eclipse-arm-gcc-openocd-toolchain-for-windows-part-3-eclipse-ide/

我正在使用STM32F405RGT6手臂。我也在窗户上。我已经尝试在makefile中的任何地方添加-lm并且没有任何工作。基本上我只是希望能够#include" math.h"所以我可以使用数学函数...我还假设将-lm放在正确的位置是我需要做的所有谷歌搜索我已经完成...我也是认为我的makefile可能没有正确链接和/或我可能没有在eclipse中正确链接的东西。

这是我的makefile:

# Makefile for compiling the Getting Started project #------------------------------------------------------------------------------- # User-modifiable options #------------------------------------------------------------------------------- # Trace level used for compilation # (can be overriden by adding TRACE_LEVEL=#number to the command-line) # TRACE_LEVEL_DEBUG 5 # TRACE_LEVEL_INFO 4 # TRACE_LEVEL_WARNING 3 # TRACE_LEVEL_ERROR 2 # TRACE_LEVEL_FATAL 1 # TRACE_LEVEL_NO_TRACE 0 TRACE_LEVEL = 4 # Optimization level OPTIMIZATION = -O0 # Output file basename OUTPUT = main # Output directories BIN = . OBJ = obj # library dirs LIBRARYSRC = ./lib/src STARTUPFILE = ./lib/startup_stm32f4xx.s #------------------------------------------------------------------------------- # Tools #------------------------------------------------------------------------------- # Tool suffix when cross-compiling CROSS_COMPILE = arm-none-eabi- CC = $(CROSS_COMPILE)gcc SIZE = $(CROSS_COMPILE)size STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump LD = $(CROSS_COMPILE)ld AS = $(CROSS_COMPILE)as #------------------------------------------------------------------------------- # Files #------------------------------------------------------------------------------- # include folders INCLUDES = -I./ INCLUDES += -I./lib/ INCLUDES += -I./lib/inc/ INCLUDES += -I./lib/inc/../../ # Objects built from C source files C_OBJECTS = $(OBJ)/main.o C_OBJECTS += $(OBJ)/system_stm32f4xx.o C_OBJECTS += $(OBJ)/stm32f4xx_gpio.o C_OBJECTS += $(OBJ)/stm32f4xx_rcc.o C_OBJECTS += $(OBJ)/stm32f4xx_it.o # Objects built from Assembly source files ASM_OBJECTS = $(OBJ)/startup_stm32f4xx.o LINKER_SCRIPT = ./lib/stm32f4xx_flash.ld #LINKER_SCRIPT = ./lib/stm32f4xx_flash_extsram.ld # Append OBJ and BIN directories to output filename OUTPUT := $(BIN)/$(OUTPUT) #------------------------------------------------------------------------------- # Rules #------------------------------------------------------------------------------- # Flags CFLAGS = -Wall -fno-common -c -g -mcpu=cortex-m3 -mthumb CFLAGS += -g $(OPTIMIZATION) $(INCLUDES) -DTRACE_LEVEL=$(TRACE_LEVEL) ASFLAGS = -g -mapcs-32 LDFLAGS = -g -v -nostartfiles OBJCOPYFLAGS = -O binary OBJDUMPFLAGS = -x --syms -S all: $(BIN) $(OBJ) $(OUTPUT).out $(BIN) $(OBJ): mkdir $@ $(OUTPUT).out: $(C_OBJECTS) $(ASM_OBJECTS) $(LINKER_SCRIPT) @ echo "..linking" $(LD) $(LDFLAGS) -Map $(OUTPUT).map -T$(LINKER_SCRIPT) -o $(OUTPUT).out $(C_OBJECTS) $(ASM_OBJECTS) libgcc.a $(OBJCOPY) $(OBJCOPYFLAGS) $(OUTPUT).out $(OUTPUT).bin # $(OBJDUMP) $(OBJDUMPFLAGS) $(OUTPUT).out > $(OUTPUT).lss @ echo "...completed." $(C_OBJECTS): main.c system_stm32f4xx.c @ echo ".compiling" $(CC) $(CFLAGS) -o $(OBJ)/main.o main.c $(CC) $(CFLAGS) -o $(OBJ)/system_stm32f4xx.o system_stm32f4xx.c $(CC) $(CFLAGS) -o $(OBJ)/stm32f4xx_it.o stm32f4xx_it.c @ echo ".compiling libraries" $(CC) $(CFLAGS) -o $(OBJ)/stm32f4xx_gpio.o $(LIBRARYSRC)/stm32f4xx_gpio.c $(CC) $(CFLAGS) -o $(OBJ)/stm32f4xx_rcc.o $(LIBRARYSRC)/stm32f4xx_rcc.c $(ASM_OBJECTS): $(STARTUPFILE) @ echo ".assembling" $(AS) $(ASFLAGS) -o $(OBJ)/startup_stm32f4xx.o $(STARTUPFILE) clean: -rm -f $(OBJ)/*.o $(BIN)/*.out $(BIN)/*.bin $(BIN)/*.dmp $(BIN)/*.map $(BIN)/*.lss

0 个答案:

没有答案