|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
Undefined reference to или почему не определена функция в Eclipce10.06.2017, 17:34. Показов 6986. Ответов 42
Метки нет (Все метки)
Здравствуйте!
Пишу в Еклипсе в общем проблема такая, прикрутил готовый модуль, но его функции не доступны, почему? понять не могу, перетыкал все что мог. как бы до этого проблем с подключением не было Application/User/main.o: In function `main': C:/C++/Progekt882/lan5500_v2/Src/main.cpp:97: undefined reference to `reg_wizchip_cs_cbfunc(void (*)(), void (*)())' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:98: undefined reference to `reg_wizchip_spi_cbfunc(unsigned char (*)(), void (*)(unsigned char))' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:165: undefined reference to `wizchip_init(unsigned char*, unsigned char*)' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:170: undefined reference to `wizchip_setnetinfo(wiz_NetInfo_t*)' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:171: undefined reference to `wizchip_getnetinfo(wiz_NetInfo_t*) но самое интересно хидер файла с функция прописан в заголовке , и сами пути добавлены в патч ту симбол куда копать подскажите кто знает Спасибо
0
|
|
| 10.06.2017, 17:34 | |
|
Ответы с готовыми решениями:
42
Undefined reference to шаблонная функция Почему происходит ошибка undefined reference to hgeCreate Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status |
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 05:27 [ТС] | |
|
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
||
| 11.06.2017, 05:30 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 05:32 [ТС] | |
|
make all
Building target: lan5500_v2.elf Invoking: MCU G++ Linker arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F103C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -fno-exceptions -fno-rtti -o "lan5500_v2.elf" @"objects.list" -lm Application/User/main.o: In function `main': C:/C++/Progekt882/lan5500_v2/Src/main.cpp:97: undefined reference to `reg_wizchip_cs_cbfunc(void (*)(), void (*)())' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:98: undefined reference to `reg_wizchip_spi_cbfunc(unsigned char (*)(), void (*)(unsigned char))' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:165: undefined reference to `wizchip_init(unsigned char*, unsigned char*)' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:170: undefined reference to `wizchip_setnetinfo(wiz_NetInfo_t*)' C:/C++/Progekt882/lan5500_v2/Src/main.cpp:171: undefined reference to `wizchip_getnetinfo(wiz_NetInfo_t*)' collect2.exe: error: ld returned 1 exit status make: *** [lan5500_v2.elf] Error 1 сейчас это весь вывод, можно почистить проект, тогда он каждый файл опять в объектный пересоберет
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
||
| 11.06.2017, 05:34 | ||
|
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 11.06.2017, 05:35 | ||
|
0
|
||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 11.06.2017, 05:35 | |
|
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 11.06.2017, 05:40 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 05:44 [ТС] | |
|
дне дает слишком много символов и опять же все не могу скопировать т.к. верхушка улетает
Добавлено через 57 секунд ######################################## ######################################## # 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 lcd1602/subdir.mk -include lan/Internet/httpServer/subdir.mk -include lan/Internet/TFTP/subdir.mk -include lan/Internet/SNTP/subdir.mk -include lan/Internet/SNMP/subdir.mk -include lan/Internet/FTPServer/subdir.mk -include lan/Internet/FTPClient/subdir.mk -include lan/Internet/DNS/subdir.mk -include lan/Internet/DHCP/subdir.mk -include lan/Ethernet/W5500/subdir.mk -include lan/Ethernet/subdir.mk -include lan/Application/loopback/subdir.mk -include Drivers/STM32F1xx_HAL_Driver/subdir.mk -include Drivers/CMSIS/subdir.mk -include Application/User/subdir.mk -include Application/SW4STM32/subdir.mk -include subdir.mk -include objects.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(CC_DEPS)),) -include $(CC_DEPS) endif ifneq ($(strip $(C++_DEPS)),) -include $(C++_DEPS) endif ifneq ($(strip $(C_UPPER_DEPS)),) -include $(C_UPPER_DEPS) endif ifneq ($(strip $(CXX_DEPS)),) -include $(CXX_DEPS) endif ifneq ($(strip $(S_UPPER_DEPS)),) -include $(S_UPPER_DEPS) endif ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif ifneq ($(strip $(CPP_DEPS)),) -include $(CPP_DEPS) endif endif -include ../makefile.defs # Add inputs and outputs from these tool invocations to the build variables # All Target all: lan5500_v2.elf # Tool invocations lan5500_v2.elf: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: MCU G++ Linker' arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F103C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -fno-exceptions -fno-rtti -o "lan5500_v2.elf" @"objects.list" $(USER_OBJS) $(LIBS) -lm @echo 'Finished building target: $@' @echo ' ' $(MAKE) --no-print-directory post-build # Other Targets clean: -$(RM) * -@echo ' ' post-build: -@echo 'Generating binary and Printing size information:' arm-none-eabi-objcopy -O binary "lan5500_v2.elf" "lan5500_v2.bin" arm-none-eabi-size "lan5500_v2.elf" -@echo ' ' .PHONY: all clean dependents .SECONDARY: post-build -include ../makefile.targets майке файл Добавлено через 57 секунд то что мне нужно тут (что не хочет работать) -include lan/Ethernet/W5500/subdir.mk -include lan/Ethernet/subdir.mk
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 11.06.2017, 05:58 | |
|
Попробуй как здесь - http://eclipsebook.in/c-cpp-de... e-managed/ - указать Source location все папки...
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 06:11 [ТС] | |
|
не помогло, правда теперь завалил проект, т.к. все пути потерялись
минут 15 все переделывать Добавлено через 8 минут пересобрал все, в общем как было так и осталось
0
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||||||||||
| 11.06.2017, 13:42 | |||||||||||
Сообщение было отмечено Efim25 как решение
Решение
Efim25, вот где-то у тебя в main.cpp подключается этот файл:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
||||||
| 11.06.2017, 13:52 [ТС] | ||||||
|
DrOffset только этот файл или все 3 штуки?
0
|
||||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||||||
| 11.06.2017, 13:55 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
||||||
| 11.06.2017, 14:02 [ТС] | ||||||
DrOffset если вам не сложно объясните почему так?????
0
|
||||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||||||
| 11.06.2017, 14:22 | |||||||
|
В С++ есть такая возможность как перегрузка функций. Чтобы различать перегруженные функции на уровне линкера, типы параметров кодируются в ее имя, т.е. в С++ функция
_Z1fooi (пример для компилятора G++). Процедура преобразования имен называется name mangling или декорация имен. В твоем случае он искал именно декорированное имя, хотя его в программе не было - в итоге ошибка линкера.В языке С нет перегрузки и никакое преобразование не нужно. Поэтому, если мы используем функцию из С в С++, нам нужно явно указать, что к имени функции не нужно применять декорацию. Добавлено через 3 минуты В данном случае, мы просто сказали, что все содержимое этих трех заголовочных файлов использует связывание в стиле С ( extern "C"), значит компилятор не будет декорировать имена (если говорить строго, он будет декорировать имена в стиле языка С) внутри фигурных скобок.
3
|
|||||||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 16:11 [ТС] | |
|
DrOffset большей спасибо
![]() Добавлено через 1 час 40 минут в МК код залил, все работает
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
||
| 11.06.2017, 16:39 | ||
|
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 11.06.2017, 16:51 | |
|
nd2, видимо да. Что g++ компилирует cpp-файлы, а gcc - компилирует с-файлы...
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 11.06.2017, 16:53 [ТС] | |
|
TRam_ правильно написал, g++ компилирует cpp-файлы, а gcc - компилирует с-файлы
0
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||
| 11.06.2017, 17:05 | |||
|
gcc - это GNU Compiler Collection, если ты ему подаешь на вход *.c файл, то он внутри вызывает компилятор С, - cc, если это *.cpp файл, то вызываться будет g++ - компилятор с++. Аналогично, если это будет, например, *.m файл, то вызовется соответствующий компилятор objective c. Ну и т.п.https://gcc.gnu.org/onlinedocs... 2b-and-GCC
1
|
|||
| 11.06.2017, 17:05 | |
|
Undefined reference или передача string в конструктор класса Undefined reference to pow() почему в университете gcc такое выдает, а дома нет? Не определена функция, не могу понять почему? Uncaught ReferenceError: checkFunc is not defined. Почему функция не определена? Процедура или функция с указанным именем не определена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|