Contradictory Warnings.
Hi,
I think all your problems come from copy-pasting existing code without looking at what you are copying: you should suppress the static definitions in all the _pub declarations and definitions (in the .c and .h files you created) and it should work.
In fact the first warning says that you define SDADC_EnterInitMode_pub as a static function in stm32f3xx_hal_pub.h (that you obviously include in one of your code files); the second say that you define it, always as static, probably by including stm32f3xx_hal_pub.h, in stm32f3xx_hal_pub.c, but never use it in this file (quite normal indeed for an extern function, but not for a static function) and the third one says that, in some source file, you included stm32f3xx_hal_pub.h and try to use SDADC_EnterInitMode_pub, but as this file was not stm32f3xx_hal_pub.c it does not include any definition for this static function.
All this is due to overlooking the static keyword: when used for some global object, it restricts its visibility to the current compilation unit (the main .c file and the included files); this symbol will not be visible by other compile units.
Bernard (Ac6)