2013-06-19 11:08 AM
hello
i have a folder contains many projects and all of them goes to same library file , each projects work great , but when i copy the main code of one project to other i got the linking problem like that ''Error[Li005]: no definition for....''2013-06-20 08:49 AM
Yes, to have correct path settings for includes and libs is a necessary presupposition.
And doing this copying/porting of project often, one begins to appreciate the advantage of keeping those paths relative, or based on environment variables ...2013-06-20 10:49 AM
It seems that you didn't configure the IAR compiler to link the headers correctly here is a video that shows how to do this step by step, try to include all the folders that hold all the headers that you need
2013-06-20 11:37 AM
i made a clone of one exemple project and still have problems it dont recognize the same functions
i think there is a problem in linker option , anyone have an idea ?2013-06-20 11:22 PM
Error[Li005]: no definition for ''GPIO_Init'' [referenced from C:\Users\Wissem\Desktop\my work\Debug\Obj\main.o]
Error[Li005]: no definition for ''SYSCFG_EXTILineConfig'' [referenced from C:\Users\Wissem\Desktop\my work\Debug\Obj\main.o]
Error[Li005]: no definition for ''EXTI_Init'' [referenced from C:\Users\Wissem\Desktop\my work\Debug\Obj\main.o]
Error[Li005]: no definition for ''NVIC_Init'' [referenced from C:\Users\Wissem\Desktop\my work\Debug\Obj\main.o]
Did you investigate where those functions/definition live ? As said in an earlier posting, you need to have those StdPeriph_Lib source files in the project, say:stm32f4xx_rcc.c
stm32f4xx_gpio.c
stm32f4xx_syscgf.c
misc.c
from the .../Libraries/STMxxx_StdPeriph_Driver/src folder in this case. Otherwise, as my crystal ball is out of business momentarily, sceenshots and build logs might prove helpful.
2013-06-21 02:12 AM
thank you all , that was helpful :)
i just added to my inclide path ......./src and i followed every function didnt recognize it and included its .c file and it works now2013-06-21 02:13 AM
thank you all , that was helpful :)
i just added to my inclide path ......./src and i followed every function didnt recognize it and included its .c file and it works now2013-06-21 03:26 AM
Sorry another thing
i got this error when i included one file stm32f4xx_it.c because i needed ClickReg deifinition: Error[Pe147]: declaration is incompatible with ''uint8_t Buffer[4]'' (declared at line 43 of ''C:\Users\Wissem\Desktop\my work\stm32f4xx_it.c'')2013-06-24 02:33 AM
Do you have another variable declared Buffer?
2013-06-24 04:42 AM
If you want this variable to be globally visible, you need to define it with identical type on all occurences. More exactly, define it in one file with an initializer, and declare it in all other files without initializer, but with the extern keyword.
If you did not want to make this variable global, you have two clashing definitions. Either rename one instance, or make both static. Additionally, it would be helpful to post both definitions/declarations, with the filename they occur in.