logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[STM32F4] Ostrzeżenia kompilatora dotyczące wbudowanych funkcji [BET][Eclipse]

kiciek667 13 Lut 2017 15:20 960 2
REKLAMA
  • #1 16275620
    kiciek667
    Poziom 9  
    Posty: 7
    Kod:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Odnoszący się do niego fragment z konsoli:
    Compiling file: String.c
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    Coś musiałem pomieszać przy portowaniu kodu z stm32f1 na stm32f4 i z starego codesourcery na BET. Podejrzewam jakieś zamieszanie w ścieżkach albo definiowanych symbolach.
    Uprzedzając - deklaracja strncpy znajduje się na miejscu i według eclipsa nie jest wycięta żadnym #ifdef'em.
    W ustawieniach projektu, w `preprocessor include paths and macros` mam ścieżki do folderów: `c:\Tools\ARM\bet\arm-none-eabi\include` ,` c:\Tools\ARM\bet\lib\gcc\arm-none-eabi\5.3.1\include` i `c:\Tools\ARM\bet\lib\gcc\arm-none-eabi\5.3.1\include-fixed`.
    Ten sam zestaw warningów i note pojawia się mi w całym projekcie, dla wszystkich wbudowanych funkcji.
    To samo pytanie zadałem na stacku, ale tu są ludzie którzy z tych samych narzędzi korzystają.
    Nie dam linku do pytania na stacku, bo nie mogę.
  • REKLAMA
  • Pomocny post
    #2 16275648
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Czy nie jest przypadkiem tak, że do Twojego pliku String.c masz swój własny nagłówek String.h? Bo jeśli kompilujesz to na Windows, to niestety ten nieco ułomny system nie widzi różnicy między Twoim String.h a string.h z toolchaina, linijka "#include <string.h>" dołącza tak naprawdę Twój plik String.h, w którym tej definicji nie ma, no i taki właśnie jest efekt.

    Jeśli to jednak coś innego, to zamieść cały plik String.c, ewentualnie spróbuj zredukować problem do najmniejszego pliku w którym jest on wciąż widoczny.
  • #3 16275689
    kiciek667
    Poziom 9  
    Posty: 7
    Bingo!
    Jak chcesz punkty na stacku to tu jest moje pytanie: http: //stackoverflow.com/questions/42201873/warnings-about-built-in-functions-in-cross-compiled-c?#comment71565502_42201873
    Przez jakiś czas nie napiszę tam odpowiedzi.
    Dziękuję.
    Edit:
    Niewiadome jest dla mnie jeszcze dlaczego w innych projektach ten problem nie wystąpił. Wszędzie includuję <string.h> przed "String.h" i nawiasy/cudzysłowy trzymam jak tutaj. Nie jest to już dla mnie ważne.
REKLAMA