[英]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.