0
我有一个需要头文件的C++项目。我使用某些文件(.srv)的python脚本构建了一些头文件。如果标题丢失或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中定义,并且包含在我的Makefile中。我只定义编译目标所需的* .cpp源列表。不幸的是,第二个Makefile只接受这个列表中的* .cpp文件并忽略其他文件。有没有办法在我的* .cpp上添加依赖项,例如不更改规则来构建目标? – Blink
如果您的makefile包含在内,您可以将任何种类的规则添加到您的makefile中,如示例中的最后一个。 – geert3
我做了一个基本的规则,这取决于我的头文件。我的所有标题都成功创建了!我必须在包含之后放置规则,否则主要目标不会被构建。谢谢。 – Blink