Skocz do zawartości

Undefined reference to method STM32CubeIDE


Lisu8

Pomocna odpowiedź

Cześć,

mam problem którego nie mogę rozwiązać od kilku tygodni. Pobrałem projekt przykładowy STM który niestety ma błędy w konfiguracji. Próbując je naprawić zatrzymałem się na takim błędzie:

error.png

Struktura projektu:

strukt1.png strukt2.png

Problem:

W pliku sys_sensors.c dostaję informację o braku referencji do definicji kilku metod. Po kliknięciu na dowolną z tych metod z wciśniętym CTRL przenosi mnie do pliku: iks01a2_env_sensors.h. To chyba znaczy, że plik został zindeksowany więc nie rozumiem czemu kompilator go nie widzi. Plik iks01a2_env_sensors.h jest zaincludowany w sys_sensors.h, który z kolei jest zainkludowany w sys_sensors.c. Bezpośredni include pliku iks01a2_env_sensors.h w sys_sensors.c nic nie zmienił. Deklaracje metod w tym pliku:

int32_t IKS01A2_ENV_SENSOR_Init(uint32_t Instance, uint32_t Functions);

int32_t IKS01A2_ENV_SENSOR_DeInit(uint32_t Instance);

int32_t IKS01A2_ENV_SENSOR_GetCapabilities(uint32_t Instance, IKS01A2_ENV_SENSOR_Capabilities_t *Capabilities);

int32_t IKS01A2_ENV_SENSOR_ReadID(uint32_t Instance, uint8_t *Id);

int32_t IKS01A2_ENV_SENSOR_Enable(uint32_t Instance, uint32_t Function);

int32_t IKS01A2_ENV_SENSOR_Disable(uint32_t Instance, uint32_t Function);

int32_t IKS01A2_ENV_SENSOR_GetOutputDataRate(uint32_t Instance, uint32_t Function, float *Odr);

int32_t IKS01A2_ENV_SENSOR_SetOutputDataRate(uint32_t Instance, uint32_t Function, float Odr);

int32_t IKS01A2_ENV_SENSOR_GetValue(uint32_t Instance, uint32_t Function, float *Value);

Próbowałem przenoszenia tego pliku bezpośrednio do folderu w którym jest sys_sensors.c  ale żadna konfiguracja nie rozwiązywała problemu.

Będę wdzięczny za podpowiedzi

errorfb.PNG

strukt1.PNG

strukt2.PNG

Link do komentarza
Share on other sites

Pokazujesz, że metoda jest zadeklarowana, ale czy masz ją zdefiniowaną (czy jest wersja z ciałem?) Nie widzę pliku *.c odpowiadającego Twojemu plikowi nagłówkowemu, stąd takie niepozorne pytanie...

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.