簡體   English   中英

CYGPATH不會從makefile調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM