[英]Makefile: ignored pattern rule
我有一个需要头文件的C ++项目。我用python脚本从一些文件(.srv)中构建了一些头文件。 如果标头丢失或srv文件已更改,我希望Makefile运行我的脚本。 我将此行添加到我的makefile中:
include/services/%.h : include/srv/%.srv
python headersFromSRV.py $<
当我尝试构建项目时,出现错误消息:
fatal error: 'include/services/robot_device_list.h' file not found
#include "include/services/robot_device_list.h"
这是逻辑,因为该文件尚不存在,但是它没有调用规则来创建它。 我的规则有什么问题?
规则本身是可以的,但是也许您的问题是makefile不知道这是必需的。 我猜错误消息来自您的C / C ++编译器,后者正在构建其他目标。 您可能需要将robot_device_list.h添加为对该目标的依赖项,因此makefile知道他需要首先构建该文件。 例如
foo.exe: foo.o
(your link statement)
foo.o: foo.c include/services/robot_device_list.h
(your compile statement)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.