plugin - Errores del enlazador CodeSourcery a la biblioteca estática
gnu mcu eclipse plugin (1)
Para aquellos que vienen aquí a través de búsquedas, el problema era exactamente como sugirió @ChrisStratton. El código se creó originalmente como un único proyecto y opté por factorizar una gran parte de él en una biblioteca. Cuando hice esto, eliminé un archivo de encabezado pero perdí su archivo fuente correspondiente, por lo que todo compiló bien pero falló en el enlace. Verificar el objdump hizo esto bastante evidente ya que los objetos no existían.
He creado dos bibliotecas estáticas para usar con un programa C. Estoy escribiendo para un procesador ARM STM32F4xx usando Mentor Graphics CodeSourcery. He agregado las bibliotecas y sus directorios a la configuración de compilación en el proyecto, ya que creo que se supone que deben estar (en Propiedades, C / C ++ Build-> Configuración-> Configuración de herramientas-> Sourcery CodeBench C Linker-> Bibliotecas) pero cuando Recopilo y vinculo el proyecto, obtengo errores de referencia no definidos para las funciones en una de las bibliotecas. He intentado cambiar el orden de las bibliotecas entre sí. He incluido un fragmento debajo del registro del compilador editado para limpiar los nombres de las rutas largas.
Estoy completamente perdido aquí, así que cualquier ayuda es apreciada.
''Building target: Firmware_Development''
''Invoking: Sourcery CodeBench C Linker''
arm-none-eabi-gcc -L"Libary1-Folder-Path" -L"Library2-Folder-Path" -Xlinker -Map="Firmware_Development.map" -T "firmware-rom-hosted.ld -mcpu=cortex-m4 -mthumb -o "Firmware_Development" "@objs.rsp" "@user_objs.rsp" "@libs.rsp"
src/main.o: In function `program_loop'':
//Debug/../src/main.c:99: undefined reference to `LwIP_Pkt_Handle''
//Debug/../src/main.c:103: undefined reference to `LwIP_Periodic_Handle''
src/stm32f4xx_it.o: In function `__cs3_isr_exti15_10'':
//Debug/../src/stm32f4xx_it.c:187: undefined reference to `Eth_Link_ITHandler''
src/Config.o: In function `Communication_Init'':
//Debug/../Libraries_Firmware/src/Config.c:175: undefined reference to `ETH_BSP_Config''
//Debug/../Libraries_Firmware/src/Config.c:178: undefined reference to `LwIP_Init''
collect2.exe: error: ld returned 1 exit status
cs-make: *** [Firmware_Development] Error 1