我正在使用Unity单元测试框架编辑具有多个目标的makefile。按下Code Composer Studio中的“构建”按钮将一直运行到下一行
$(C_COMPILER) $(INC_DIRS) $(SRC_FILES1) -o $(TARGET1)
在makefile中还有以下几行:
C_COMPILER=C:\MinGW\bin\mingw32-gcc.exe
UNITY_ROOT=../test/unity/
UNITY_C=$(UNITY_ROOT)unity.c
UNITY_H=$(UNITY_ROOT)unity.h
INC_DIRS=-I../include/ -I$(UNITY_ROOT)
SRC_FILES1=$(UNITY_C) ../source/ProductionCode.c ../test/TestProductionCode.c ../test/test_runners/TestProductionCode_Runner.c
TARGET_BASE1=test1
TARGET_EXTENSION=.out
TARGET1 = $(TARGET_BASE1)$(TARGET_EXTENSION)
在Code Composer中构建时,这是显示的错误
C:\MinGW\bin\mingw32-gcc.exe -I../include/ -I../test/unity/ ../test/unity/unity.c ../source/ProductionCode.c ../test/TestProductionCode.c ../test/test_runners/TestProductionCode_Runner.c -o test1.out
gmake[1]: *** [default] Error 1
gmake[1]: Leaving directory `C:/Users/matt.harding/Documents/SubversionDirectories/pt_listen_only_can_interface/sw/ccs6_workspace/makefile_project_test1/Debug'
gmake: *** [all] Error 2
所以我打开了Cygwin并在那里试了一下,看看能否找到原因。输入这个问题行,它运行完全正常并成功生成目标!所以我不确定Code Composer会出现什么问题...... 有任何想法吗?谢谢!
编辑:如果我在cygwin中使用gmake运行相同的makefile,它会显示与CCS中相同的错误。那么......为什么用gmake运行这个问题而不是仅仅运行Cygwin的编译器呢?
编辑:从我可以收集到的内容来看,它看起来像Windows和Cygwin之间的编译器不兼容?如果我将makefile中的编译器更改为 C_COMPILER = C:\ cygwin的\ BIN \ gcc.exe 从Code Composer运行makefile时仍然存在问题,但运行gmake all在Cygwin中完美运行!
答案 0 :(得分:0)
所以我找到了解决问题的方法。 我把编译器更改为 C_COMPILER = C:\ MinGW的\ BIN \ gcc.exe 仍然无法在Code Composer Studio(CCS)中工作 我将C:\ MinGW \ bin \添加到系统PATH中。 仍然没有在CCS工作。 将MinGW添加到系统PATH后,我关闭并重新打开了CCS。 成功! 我不完全理解为什么事情不起作用为什么我期望它们,但至少我们有一个解决方案。