作者lemonsheep (柠檬羊)
看板C_and_CPP
标题[问题] makefile问题请益
时间Tue Dec 5 01:00:54 2017
开发平台(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 $@
最後在跟其他当前目录下编译好的.o档link起来 类似这样
$(TARGET): $(OBJECTS) $(LPOBJ)
$(CC) -o $(TARGET) $^ $(LIB) $(INC)
问题:
结果最後在编译的时候编到需要用到a.h的档案时
就会出现fatal error: a.h: No such file or directory 的错误讯息
可是再继续make一次居然就整个编好了= =
意思就是现在make都要连续执行两次才能编好
第一次都会出现上面那个错误
确定档案有在 -I 的路径也有设定
实在想不到是啥问题
不知道有没有人遇过同样的问题~ 感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.127.17
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1512406858.A.F4A.html
1F:推 CoNsTaR: 顺序上的问题? 12/05 01:34
请问顺序是指?
2F:→ Lipraxde: 你看编译下的指令有没有把想要的路迳include进去 12/05 01:36
检查过路径应该都有设定好
3F:推 LPH66: 有完整的 makefile 吗? 12/05 08:40
4F:推 sean70653: V=1先看一下第一次是不是真的有带到 12/05 09:16
请问是神麽意思?
5F:推 Ommm5566: 1F是指 flag的顺序$(INC)太後面了吗? 12/05 11:58
6F:推 asahinamou: 同实验室帮推QQ 12/05 17:10
※ 编辑: lemonsheep (140.113.127.17), 12/05/2017 21:42:33
7F:推 Bencrie: make V=1 12/05 21:44
8F:嘘 Sidney0503: 谁知道你的$()取出来是三小 12/06 14:42
9F:→ Bencrie: 好凶好凶 XD 12/06 21:53
10F:推 ggBird: 嘘沙小 12/06 22:16