如何修复这个 Makefile
它所做的不是可执行代码,而是创建不执行任何操作的文件,即使这些文件是可执行的。
TARGETS = load list show add delete btree
all: $(TARGETS)
%: %.cpp
g++ $< -g -o $@ -MM -MF [email protected]
sed "s/$@\.o:/$@:/" [email protected] > [email protected]
-@rm [email protected]
DEPS=$(TARGETS:%=%.d)
-include $(DEPS)
Instead of executable code all it does is create files that don't do anything, even if the files are made executable.
TARGETS = load list show add delete btree
all: $(TARGETS)
%: %.cpp
g++ lt; -g -o $@ -MM -MF [email protected]
sed "s/$@\.o:/$@:/" [email protected] > [email protected]
-@rm [email protected]
DEPS=$(TARGETS:%=%.d)
-include $(DEPS)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用
-MM
选项运行 g++,以创建依赖项文件。但此选项会导致 g++ 写入依赖文件而不是二进制文件。试试这个:
You are running g++ with the
-MM
option, to create the dependency file. But this option causes g++ to write a dependency file instead of a binary.Try this: