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