[問題] makefile問題請益

作者: lemonsheep (檸檬羊)   2017-12-05 01:00:54
開發平台(Platform): (Ex: Win10, Linux, ...)
Centos
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
GNU GLPK
問題(Question):
小弟新手嘗試一下makefile就碰到麻煩QQ
makefile撰寫問題
就是我將有使用到glpk這個library的a.h跟實作檔a.cpp(a.h是舉例)放在目錄LP底下
其他檔案放在當前目錄底下(包含有include LP目錄底下的a.h檔的黨案)
然後makefile中這樣撰寫
LPDIR := LP
LPOBJ := $(patsubst $(LPDIR)/%.cpp,$(LPDIR)/%.o,$(wildcard $(LPDIR)/*.cpp))
然後先編LP底下的.cpp 類似這樣
$(LPDIR)/%.o: $(LPDIR)/%.cpp
$(CC) $(CFLAGS) $(INC) -c $< -o [email protected]
最後在跟其他當前目錄下編譯好的.o檔link起來 類似這樣
$(TARGET): $(OBJECTS) $(LPOBJ)
$(CC) -o $(TARGET) $^ $(LIB) $(INC)
問題:
結果最後在編譯的時候編到需要用到a.h的檔案時
就會出現fatal error: a.h: No such file or directory 的錯誤訊息
可是再繼續make一次居然就整個編好了= =
意思就是現在make都要連續執行兩次才能編好
第一次都會出現上面那個錯誤
確定檔案有在 -I 的路徑也有設定
實在想不到是啥問題
不知道有沒有人遇過同樣的問題~ 感謝~
作者: CoNsTaR ((const *))   2017-12-05 01:34:00
順序上的問題?
作者: Lipraxde (Lipraxde)   2017-12-05 01:36:00
你看編譯下的指令有沒有把想要的路逕include進去
作者: LPH66 (-6.2598534e+18f)   2017-12-05 08:40:00
有完整的 makefile 嗎?
作者: sean70653 (sean70653 )   2017-12-05 09:16:00
V=1先看一下第一次是不是真的有帶到
作者: Ommm5566 (56天團)   2017-12-05 11:58:00
1F是指 flag的順序$(INC)太後面了嗎?
作者: asahinamou   2017-12-05 17:10:00
同實驗室幫推QQ
作者: Bencrie   2017-12-05 21:44:00
make V=1
作者: Sidney0503 (Sidney0503)   2017-12-06 14:42:00
誰知道你的$()取出來是三小
作者: Bencrie   2017-12-06 21:53:00
好兇好兇 XD
作者: ggBird (ggBird)   2017-12-06 22:16:00
噓沙小

Links booklink

Contact Us: admin [ a t ] ucptt.com