|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
Undefined reference to или почему не определена функция в Eclipce10.06.2017, 17:34. Показов 7005. Ответов 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. Почему функция не определена? Процедура или функция с указанным именем не определена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|