gpt4 book ai didi

c++ - 生成文件.am : How to Add rule for new extension?

转载 作者:太空狗 更新时间:2023-10-29 21:44:04 26 4
gpt4 key购买 nike

我正在尝试修改现有的 makefile.am 以包含将 *.rc 扩展名转换为资源文件的规则。这是我目前所能得到的。

mytarget_SOURCES += ico.rc

.rc.o:
windres -i $< $@

如此处所述:http://www.gnu.org/software/automake/manual/html_node/Suffixes.html在生成的 makefile 中,ico.rc 被添加到源中,ico.o 被添加到对象中(我想这很好)。

在 makefile 的末尾确实粘贴了这个 .rc.o 规则,但我怀疑情况应该如此,对吗? .rc.o 应该是一个 automake 规则,但它不是创建 ico.o 文件的好 make 规则,是吗?

当 make 运行时,它会重新制作 makefile,然后继续提示没有制作 ico.o 的规则。 windres,或者我放在那里的任何东西(例如回声)永远不会运行。我试过谷歌搜索,但信息很少,而且我能找到的大部分是我上面提供的链接的拷贝。我做错了什么?

最佳答案

Automake 简单地将 make 规则逐字复制到生成的 Makefile 中。所以只要你写的是有效的 makefile 语法,就没问题。

你所拥有的是 make 中有效隐式后缀规则的部分。但是,您缺少需要将 .rc 定义为有效后缀(.o 是内置后缀列表的一部分,因此您没有添加它,除非您只想完成)。

也将此添加到您的 Makefile.am 中:

.SUFFIXES: .rc

参见 http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html了解更多详情。

关于c++ - 生成文件.am : How to Add rule for new extension?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com