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