2017-01-22 1 views
-1

나는 기존의 대규모 코드베이스를 가지고 있고 자동화 된 테스트를 시도하고있다. 필자는 ARM 용 Keil 프로젝트 파일을 디코딩하고 makefile을 생성하는 python 스크립트를 작성했습니다. 따라서 대부분의 정의 및 포함 경로는 실제로 keil 프로젝트 파일에 정의됩니다. 사실 꽤 많은 정의가 추가되었습니다.cygwin에서 make가 일부 컴파일 명령어를 자르고있다

위의 메이크 파일은 일부 컴파일 명령에서 처음 몇자를 제외하고는 멋집니다. 아래의 두 줄은 좋은 컴파일 명령의 예제이며, 나쁜 명령입니다. "g ++ -"가 컴파일 명령의 시작 부분에서 제거 된 것을 쉽게 볼 수 있습니다.

항상 5 자입니다. 내가 가지고있는 한 가지 힌트는 실패한 파일에는 상대적으로 긴 경로가 있다는 것입니다.

SHELL =/bin/bash를 정의하면 아무 것도 변경되지 않습니다.

g ++ -c ../Project/External/HAL/src/HWRNG.cpp -o obj/HWRNG.o -D IO = ""-D __I = ""-D __packed = ""-D ubyte8 = "= 부호없는 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 - 나는 ../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 = "부호없는 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 패치/포함 -I ../ 프로젝트 -I ../ 프로젝트/하드웨어 -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 ../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 : 명령을 찾을 수 없습니다. make : [Makefile : 167 : obj/EXTI_Driver.o] 오류 127 (무시) ​​

답변

0

나는 지난 몇 주 동안 도로에 있었고 어제 동료에게 내 문제를 보여주었습니다. 그는 즉각적으로 C 컴파일러가 동작하고 C++이 올바르게 작동하고 있음을 알았습니다. C 컴파일러에 대한 CC 심볼을 잘못 정의했습니다.

관련 문제