GNU makefile 中的 Qt 资源

Qt resources in GNU makefile

如何在 GNU makefile 中添加 Qt 资源?

我想添加这样的内容:

mystyle.qrc

<RCC>
    <qresource prefix="/">
        <file>mystyle.qss</file>
    </qresource>
</RCC>

并且应该像这里一样使用:

MyMain.cpp

QFile file(":/mystyle.qss");

一个简单的规则可能类似于...

# Specify the `rcc' executable -- `rcc-qt5' on my box but
# may just be `rcc' elsewhere.
#
RCC := rcc-qt5

# Use rcc to generate a .qrc.cpp output file base on the input .qrc
#
%.qrc.cpp: %.qrc
    $(RCC) -name $* -o $@ $<

然后像使用任何其他 .cpp 文件一样使用生成的 .qrc.cpp。因此,如果您的主要源文件是 mp_prog.cpp,您可以...

my_prog: my_prog.o mystyle.qrc.o
    $(LD) $(LDFLAGS) -o $@ $+

假设通常的内置规则 mystyle.qrc.o 将根据 mystyle.qrc.cpp 构建,而后者又会使用新规则从 mystyle.qrc 生成。