|
undefined reference to `_exit', Это уже было... |
|
|
|
 |
Ответов
|
Feb 10 2013, 18:48
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(ajkpro @ Feb 10 2013, 23:19)  Это я уже понял, что некий деструктор не подхватывается. Но почему у автора и некоторых последователей прошло. Потому что автор и последователи убрали деструкторы. Цитата(ajkpro @ Feb 10 2013, 23:19)  Там рекомендуют sys.c, но его нет по ссылке. Вот вам новая ссылка.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 11 2013, 17:36
|
Группа: Участник
Сообщений: 10
Регистрация: 10-02-13
Пользователь №: 75 568

|
Цитата(AHTOXA @ Feb 10 2013, 22:48)  Потому что автор и последователи убрали деструкторы. А там некий траслятор это дело игнорирует - тутТем не менее... Цитата(AHTOXA @ Feb 10 2013, 22:48)  как его прикрутить? Пока фантазии не хватает... Вот, то что подчеркнуто это я добавил: cc: $(SRC) $(CC) $(CFLAGS) $(SRC) ./sys.cЕстественно, ничего не вышло: Цитата /home/ajk/stm32/gcc-arm-none-eabi-4_7-2012q4/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv7-m/libc.a(lib_a-exit.o): In function `exit': exit.c:(.text.exit+0x16): undefined reference to `_exit' collect2: error: ld returned 1 exit status make: *** [ldall] Ошибка 1 Но, с другой стороны в его коде и нет деструкторов: _exit Ну, и весь make: CODE BIN=stm32vldiscovery-linux-template
TOOLS_PATH=/home/ajk/stm32/gcc-arm-none-eabi-4_7-2012q4 TOOLS_PREFIX=arm-none-eabi- TOOLS_VERSION=4.7.3
CFLAGS=-c -mcpu=cortex-m3 -mthumb -Wall -O0 -mapcs-frame -D__thumb2__=1 CFLAGS+=-msoft-float -gdwarf-2 -mno-sched-prolog -fno-hosted -mtune=cortex-m3 CFLAGS+=-march=armv7-m -mfix-cortex-m3-ldrd -ffunction-sections -fdata-sections CFLAGS+=-I./cmsis -I./stm32_lib -I. ASFLAGS=-mcpu=cortex-m3 -I./cmsis -I./stm32_lib -gdwarf-2 -gdwarf-2 LDFLAGS=-static -mcpu=cortex-m3 -mthumb -mthumb-interwork -Wl,--start-group LDFLAGS+=-L$(TOOLS_PATH)/lib/gcc/arm-none-eabi/$(TOOLS_VERSION)/thumb2 LDFLAGS+=-L$(TOOLS_PATH)/arm-none-eabi/lib/thumb2 -lc -lg -lstdc++ -lsupc++ -lgcc -lm #LDFLAGS+=--section-start=.text=0x8000000 LDFLAGS+=-Wl,--end-group -Xlinker -Map -Xlinker $(BIN).map -Xlinker LDFLAGS+=-T ./stm32_lib/device_support/gcc/stm32f100rb_flash.ld -o $(BIN).elf
CC=$(TOOLS_PATH)/bin/$(TOOLS_PREFIX)gcc-$(TOOLS_VERSION) AS=$(TOOLS_PATH)/bin/$(TOOLS_PREFIX)as SIZE=$(TOOLS_PATH)/bin/$(TOOLS_PREFIX)size
CMSISSRC=./cmsis/core_cm3.c STM32_LIBSRC=./stm32_lib/system_stm32f10x.c ./stm32_lib/stm32f10x_it.c STM32_LIBSRC+=./stm32_lib/stm32f10x_rcc.c ./stm32_lib/stm32f10x_gpio.c SRC=main.c
OBJ=core_cm3.o system_stm32f10x.o stm32f10x_it.o startup_stm32f10x_md_vl.o OBJ+=stm32f10x_rcc.o stm32f10x_gpio.o OBJ+=main.o
all: ccmsis cstm32_lib cc ldall $(SIZE) -B $(BIN).elf
ccmsis: $(CMSISSRC) $(CC) $(CFLAGS) $(CMSISSRC)
cstm32_lib: $(STM32_LIBSRC) $(CC) $(CFLAGS) $(STM32_LIBSRC) $(AS) $(ASFLAGS) ./stm32_lib/device_support/gcc/startup_stm32f10x_md_vl.S -o startup_stm32f10x_md_vl.o
cc: $(SRC) $(CC) $(CFLAGS) $(SRC) ./sys.c
ldall: $(CC) $(OBJ) $(LDFLAGS)
.PHONY: clean load
clean: rm -f $(OBJ) \ $(BIN).map \ $(BIN).elf make clean -C ./stlink/build/
load: $(BIN).elf ./flashing_stm32vldiscovery.sh $(BIN).elf
Сообщение отредактировал IgorKossak - Feb 11 2013, 19:53
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
|
|
|
|
|
Feb 11 2013, 20:05
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(ajkpro @ Feb 11 2013, 23:36)  А там некий траслятор это дело игнорирует - тут"Там" деструкторов сразу не было. Просто более старые версии компилятора подтягивали исключения не только при наличии деструкторов, но и просто при наличии чисто виртуальных функций. sys.c от этого помогал. Но, может быть, у вас вообще другая проблема? Судя по makefile, у вас проект не на c++, а на c, а там нет деструкторов. Может быть, вы просто добавили в main.c вызов функции printf()? Или ещё проще - у вас нет в конце main() бесконечного цикла, и программа завершает работу? (как раз при этом вызывается функция exit() )
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
Сообщений в этой теме
ajkpro undefined reference to `_exit' Feb 10 2013, 17:19   ajkpro Цитата(AHTOXA @ Feb 12 2013, 00:05) Но, м... Feb 12 2013, 03:25    AHTOXA Цитата(ajkpro @ Feb 12 2013, 09:25) По ка... Feb 12 2013, 04:35   alx2 Цитата(AHTOXA @ Feb 12 2013, 01:05) Может... Feb 12 2013, 05:54    ajkpro Вот, main.c:Код#include "stm32f10x.h"
voi... Feb 12 2013, 17:43     xemul Кодvoid main(void) {
...
while (1... Feb 13 2013, 09:15      ajkpro Цитата(xemul @ Feb 13 2013, 13:15) Кодvoi... Feb 13 2013, 16:39       xemul Цитата(ajkpro @ Feb 13 2013, 20:39) Ну, ц... Feb 13 2013, 17:54        ajkpro Цитата(xemul @ Feb 13 2013, 21:54) Может ... Feb 13 2013, 18:42     alx2 Цитата(ajkpro @ Feb 12 2013, 22:43) Увы, ... Feb 14 2013, 05:44 ajkpro Вот, map файл: http://yadi.sk/d/po6sankd2_2yQ Feb 13 2013, 03:49 AHTOXA Цитата(ajkpro @ Feb 13 2013, 09:49) Вот, ... Feb 14 2013, 14:58  ajkpro Йесс! Поехало, спасибо! В выходные буду ра... Feb 14 2013, 17:21   AHTOXA А какой вариант у вас "поехал"? Feb 14 2013, 17:45    ajkpro Цитата(AHTOXA @ Feb 14 2013, 21:45) А как... Feb 15 2013, 03:47     _Pasha Цитата(ajkpro @ Feb 15 2013, 06:47) А нет... Feb 15 2013, 04:02      AHTOXA Цитата(_Pasha @ Feb 15 2013, 10:02) Опция... Feb 15 2013, 04:25       ajkpro Цитата(AHTOXA @ Feb 15 2013, 08:25) Вроде... Feb 16 2013, 07:25     alx2 Цитата(ajkpro @ Feb 15 2013, 08:47) Но те... Feb 18 2013, 04:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|