[英]CYGPATH does not get invoked from makefile
我正在為嵌入式C代碼庫開發自動構建和持續集成的環境。 我使用Keil的Real View Compiler(Windows可執行文件)作為交叉編譯器,並使用Cygwin構建整個連續集成環境。
Keil的文檔說,如果使用Cygwin,則必須為編譯器(即Windows可執行文件)適當設置CYGPATH環境變量,以了解Cygwin路徑(例如包含文件)。 ( http://www.keil.com/support/man/docs/ARMINTRO/armintro_pge1362395716635.htm )
生成文件如下所示:
INCLUDE_DIR=-I$(PATH_TO_KEIL)/MDK-Middleware \
-I$(PATH_TO_KEIL)/ARM
a.o : a.c
echo
echo Compiling $<....;
echo cc -c $(INCLUDE_DIR) -o a.o a.c ;
cc -c $(INCLUDE_DIR) -o a.o a.c ;
當我直接在Cygwin終端上執行$cc -c -I/cygdrive/c/Keil_v5/MDK-Middleware -I/cygdrive/c/Keil_v5/ARM -o ao ac
,交叉編譯成功完成。
但是,盡管將PATH_TO_KEIL定義為/ cygdrive / c / Keil_v5,但在運行makefile編譯器時仍會抱怨找不到包含文件(即/ cygdrive / c / Keil_v5 / ARM或C:\\ Keil_v5中存在的文件)。
另外,如果有幫助,如果給出包含文件的相對路徑,則在進行交叉編譯時也沒有問題。
您必須在Makefile中聲明var,該文件將指向您的include目錄。 例如,
INCLUDE_DIR = c:/path/to/include/
,因此您的makefile目標為:
$armcc.exe -I$(INCLUDE_DIR) foo.c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.