Keil: определение inline-функции приводит к ошибке L6218E |
![]() |
Добавил(а) microsin |
Определение inline функции в заголовке без модификатора static приводит к ошибке линкера L6218E. Пример: inline void DEBUG_CHECK (uint32_t errorcode) { while(errorcode != NRF_SUCCESS) { LED_ON(); nrf_delay_ms(50); LED_OFF(); nrf_delay_ms(50); } } Сообщение об ошибке: linking... .\Objects\fw.axf: Error: L6218E: Undefined symbol DEBUG_CHECK (referred from main.o). Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 2 information, 0 warning and 1 error messages. Добавление ключевого слова static к определению inline-функции устраняет ошибку: static inline void DEBUG_CHECK (uint32_t errorcode) { ...
|