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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.