我正在使用Unity單元測試框架編輯具有多個目標的makefile。按「生成」中的Code Composer Studio按鈕經過精細運行,直到以下行從gmake編譯錯誤,但單行運行正常
$(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時仍存在問題,但在Cygwin中運行gmake完全可以正常工作!
從該目錄運行'make'是否可以在cygwin shell中運行?改變'C_COMPILER'路徑來使用'/'而不是\會改變什麼? – 2014-12-02 13:34:45
我曾嘗試先運行'make',但顯示如下內容:Microsoft Windows [Version 6.1.7601] Copyright(c)2009 Microsoft Corporation。保留所有權利「 – 2014-12-02 13:42:03
抱歉,看起來應該是這樣的:」從該目錄運行'gmake'是否工作?「 – 2014-12-02 13:45:08