2017-01-22 2 views
-1

Ich arbeite an einem Stromzähler mit einer großen existierenden Codebasis und versuche einige automatisierte Tests einzuführen. Ich habe ein Python-Skript geschrieben, das eine Keil-Projektdatei für ARM dekodiert und ein Makefile erzeugt. Daher sind die meisten Definitions- und Include-Pfade in der keil-Projektdatei definiert. Naja eigentlich sind etliche definiert von mir hinzugefügt.make schneidet einige Kompilierbefehle unter cygwin ab

Das Makefile ist wunderbar, außer dass es die ersten paar Zeichen aus einigen Kompilierbefehlen entfernt. Die folgenden zwei Zeilen sind Beispiele für einen guten Kompilierbefehl und einen schlechten. Es ist leicht zu sehen, dass "g ++ -" am Anfang des Kompilierbefehls entfernt wurde.

Es sind immer diese 5 Zeichen. Der einzige Hinweis, den ich habe, ist, dass die Dateien, die fehlschlagen, relativ lange Pfade haben.

Definieren von SHELL =/bin/bash ändert nichts.

g ++ -c ../Project/External/HAL/src/HWRNG.cpp -o obj/HWRNG.o -D IO = "" -D __I = "" -D __packed = "" -D ubyte8 = "unsigned long long" -std = C++ 11 -w -fpermissive -D __GNUC -D __USE_C99_MATH -D LOGICAL_NAME_REFERENCING -D EOSAL_NAMESPACE = CosemMeter -D USE_RTX -D STM32F412xG -D USE_STDPERIPH_DRIVER -D HSE_VALUE = 24000000 -D DEBUG_UART - D OLD_MCOR -D ENABLE_LTE_MODEM -I ../trace -I ../trace/EOSAL/src -I Patch/Include -I ../Project -I ../Project/Hardware -I ../Project/External/CosemServerLib -I ../Project/External/CosemServerLib/Project -I ../Project/External/CosemServerLib/External -I ../Project/External/HAL/inc -I ../Project/External/HAL/STM/32F4xx/drivers/inc -I ../Project/External/STM32F4xx/CMSIS/Device/ST/STM32F4xx/Include -I ../Project/External/STM32F4xx/CMSIS/Include -I ../Project/External/STM32F4xx/STM32F4xx_StdPe riph_Driver/inc -I ../Project/lib -I ../Project/lib/RTX/inc -I ../Project/lib/RTX/inc/RTL -I ../Project/lib/Mocana/src - I ../Project/Middlewares/Segger/USBH -I ../Project/Middlewares/Segger/Inc -I ../Project/SeggerCfg -I ../Project/LTE/inc

c ../Project /External/HAL/STM/32F4xx/drivers/src/EXTI_Driver.c -o obj/EXTI_Driver.o -D __IO = "" -D __I = "" -D __packed = "" -D ubyte8 = "unsigned long long" -D __USE_C99_MATH -D LOGICAL_NAME_REFERENCING -D EOSAL_NAMESPACE = CosemMeter -D USE_RTX -D STM32F412xG -D USE_STDPERIPH_DRIVER -D HSE_VALUE = 24000000 -D DEBUG_UART -D OLD_MCOR -D ENABLE_LTE_MODEM -I ../trace -I ../trace/EOSAL/src -I patch/include -I ../Projekt -I ../Project/Hardware -I ../Project/External/CosemServerLib -I ../Project/External/CosemServerLib/Project -I ../Project/External/ CosemServerLib/External -I ../Project/External/HAL/inc -I ../Project/External/HAL/STM/32F4xx/drive rs/inc -I ../Project/External/STM32F4xx/CMSIS/Device/ST/STM32F4xx/Include -I ../Project/External/STM32F4xx/CMSIS/Include -I ../Project/External/STM32F4xx/STM32F4xx_StdPeriph_Driver/ inc -I ../Project/lib -I ../Project/lib/RTX/inc -I ../Project/lib/RTX/inc/RTL -I ../Project/lib/Mocana/src -I. ./Project/Middlewares/Segger/USBH -I ../Project/Middlewares/Segger/Inc -I ../Project/SeggerCfg -I ../Project/LTE/inc /bin/sh: c: Befehl nicht gefunden make: [Makefile: 167: obj/EXTI_Driver.o] Fehler 127 (ignoriert)

Antwort

0

Ich war in den letzten Wochen unterwegs und habe gestern mein Problem einem Kollegen gezeigt. Er bemerkte sofort, dass die C-Compiles sich so benahmen und die C++ sich richtig benahmen. Ich hatte das CC-Symbol für C-Dateien falsch definiert.

Verwandte Themen