Я включил math.h
в 1.c
и LDLIBS=-lm
в makefile
.Неопределенная ссылка на sqrt
1.c и 2.c - некоторые из файлов в текущем каталоге.
Make-файл выглядит следующим образом:
dINES+=PROJECT_CONF_H=\"project-conf.h\"
CONTIKI_PROJECT = 1 2
all: $(CONTIKI_PROJECT)
CONTIKI = ../..
WITH_UIP6=1
UIP_CONF_IPV6=1
CFLAGS+= -DUIP_CONF_IPV6_RPL -DUIP_CONF_IPV6 -DWITH_UIP6
LDLIBS=-lm
ifdef PERIOD
CFLAGS=-DPERIOD=$(PERIOD)
endif
include $(CONTIKI)/Makefile.include
Я прочитал связанный с этим вопрос StackOverflow и ответы, но не в состоянии понять, почему Undefined reference to sqrt
.
Попробуйте сухой запуск 'make -n'. Он должен сразу сказать вам, если выполняемые команды не соответствуют ожидаемым – StoryTeller
Когда такие вещи происходят, даже если вы включили math.h, скорее всего, вы не свяжете библиотеку с плавающей запятой с проектом. Общая проблема со встроенными системами. Обычно при создании проекта есть какой-то вариант, или, в противном случае, есть опция компилятора/компоновщика. – Lundin