[问题] 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