2016-07-02 8 views
0

Wie mache ich die folgende Linker-Warnung über eine falsche externe Deklaration einen Fehler? Ich Kompilieren & Verknüpfung mit gcc Version 4.8.3 Sourcery Codebenchgcc C++ Linker make "Typ von 'X' stimmt nicht mit der ursprünglichen Deklaration überein" ein Fehler?

UFBAU Ziel: xxxxx.elf Hervorrufen: Quer ARM C++ Linker Arm-keine-EABI-g ++ -mcpu = Cortex-m4 -mthumb -mfloat-abi = softfp -mfpu = fpv4-sp-d16 -O0 -fmessage-length = 0 -ffunction-abschnitte -fdata-sections -flto -g3 -T ".. \ config \ stm32f4ems \ STM32F407xG_CCM.ld" -Xlinker --gc Abschnitte -Wl, auf der Landkarte "rusefi.map" -Wl, auf der Landkarte "rusefi.map" -mcpu = cortex-m4 -mthumb -g3 ....

xxx.cpp: 584: 21: Warnung: Typ von 'afrMap' stimmt nicht mit der ursprünglichen Deklaration überein [standardmäßig aktiviert]

extern fuel_Map3D_t afrMap;

Ich möchte, dass dies nicht gelingen, so dass ich das Problem nicht wieder vermissen.

Antwort

0

Versuchen zu verwenden, um die Flagge -Werror

Von this link:

-Werror 
Make all warnings into errors. 

EDIT: Wenn Sie spezifischer sein wollen, Sie

-Werror= 
Make the specified warning into an error. 
+0

Dies würde arbeiten für einen Compiler verwenden können scheint aber nicht für den Linker zu funktionieren. Building target: rusefi.elf Aufruf: Cross ARM C++ Linker arm-nicht-eabi-g ++ -mcpu = cortex-m4 -mthumb -mfloat-abi = softfp -mfpu = fpv4-sp-d16 -O0 -fmessage-length = 0 -ffunction-abschnitte -fdata-abschnitte -flto -g3 - T ".. \ config \ stm32f4ems \ STM32F407xG_CCM.ld" -XLinker --gc-Sektionen -Wl, -Map, "rusefi.map" -Wl, -Karte, "rusefi.map" -mcpu = cortex-m4 -mthumb -g3 -Werror -o "rusefi.elf" ./util/crc.o ... arm-nicht-eabi-g ++. exe: Fehler: ./ru: Keine solche Datei oder kein Verzeichnis cs-make: ** * [rusefi.elf] Fehler 1 – AndreyB