如何在QTCreator中创建自定义构建规则以生成代码?

隐藏的挡风玻璃

我正在开发GTK3应用程序,但是使用QTCreator作为我的IDE,只是因为我碰巧喜欢它。它工作正常,我可以轻松关闭所有特定于QT的内容并链接GTK库。只有一个小问题。

GTK使用XML文件定义其资源。它带有一个程序“ glib-compile-resources”,该程序使用一个.gresource.xml文件并生成一个.c文件*,然后可以将其包含在您的项目中。问题是QTCreator不了解glib-compile-resources,因此我必须记住每次对它们进行任何更改时都要手动运行该程序。

我尝试使用自定义生成步骤,但是如果执行此操作,则QT每次都会重建文件,即使它没有更改也是如此,这会减慢该过程。另外,如果C文件尚不存在,它将失败,并显示“没有规则使'x.o'所需的目标'xc'停止。”。错误,因此无论如何我都必须手动运行该程序。

有什么办法告诉QTCreator在遇到.gresource.xml文件时运行glib-compile-resources,并将生成的C文件包含到最终编译中?

*除了直接的C源文件之外,还有其他可用的选项,但是C源对我来说是最简单和最容易的。

隐藏的挡风玻璃

这是我如何解决自己的问题的方法:

我在QT文档中找到了如何将自己的自定义编译器添加到QT项目文件中。所需的确切行是:

GLIB_RESOURCE_FILES += \
    resources.gresource.xml
    # Add more resource files here.

glib_resources.name = glibresources
glib_resources.input = GLIB_RESOURCE_FILES
glib_resources.output = ${QMAKE_FILE_IN_BASE}.c
glib_resources.depend_command = glib-compile-resources --generate-dependencies ${QMAKE_FILE_IN}
glib_resources.commands = glib-compile-resources --target ${QMAKE_FILE_OUT} --sourcedir ${QMAKE_FILE_IN_PATH} --generate-source ${QMAKE_FILE_IN}
glib_resources.variable_out = SOURCES
glib_resources.clean = ${QMAKE_FILE_OUT}

QMAKE_EXTRA_COMPILERS += glib_resources

(感谢@zgyarmati,他的帖子使我找到了正确的答案。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在WAF构建系统中使用自定义代码生成器?

来自分类Dev

如何在Cake 3中创建自定义验证规则

来自分类Dev

如何在yii中创建客户端自定义规则

来自分类Dev

如何在Laravel 6 API中创建自定义验证规则

来自分类Dev

如何在团队服务中创建自定义构建环境?

来自分类Dev

如何在Jodit中创建自定义按钮以将文本包装在代码标签中?

来自分类Dev

LoopBack:如何在代码中动态创建自定义REST端点(即时)

来自分类Dev

如何在Geany文本编辑器的“代码段”中创建自定义日期?

来自分类Dev

如何在代码中创建自定义UIButton并在xib中使用它?

来自分类Dev

如何在自定义PHP代码中创建可点击的超链接文本

来自分类Dev

LoopBack:如何在代码中动态创建自定义REST端点(即时)

来自分类Dev

如何在Sublime Text 2 for Linux中创建和使用自定义代码段?

来自分类Dev

如何在 Wordpress 中创建一个简单的自定义短代码?

来自分类Dev

是否可以添加自定义规则以推断AllegroGraph中的新关系?

来自分类Dev

是否可以添加自定义规则以推断AllegroGraph中的新关系?

来自分类Dev

如何使用自定义代码在Magento中创建?

来自分类Dev

如何在 PowerShell 构建步骤中查询 TFS 构建定义自定义变量

来自分类Dev

如何在ActiveAdmin gem中创建自定义页面

来自分类Dev

如何在dart中创建自定义元素?

来自分类Dev

如何在Django中创建自定义选择字段?

来自分类Dev

如何在Android中创建自定义导航抽屉

来自分类Dev

如何在Laravel 4中创建自定义外观

来自分类Dev

如何在Drupal 7中创建自定义块?

来自分类Dev

如何在AngularJs服务中创建自定义事件

来自分类Dev

如何在Moodle中创建自定义表单?

来自分类Dev

如何在C ++中创建自定义整数序列

来自分类Dev

如何在android中创建自定义渐变?

来自分类Dev

如何在AMPL中创建自定义函数?

来自分类Dev

如何在SpriteKit中创建自定义混合模式

Related 相关文章

  1. 1

    如何在WAF构建系统中使用自定义代码生成器?

  2. 2

    如何在Cake 3中创建自定义验证规则

  3. 3

    如何在yii中创建客户端自定义规则

  4. 4

    如何在Laravel 6 API中创建自定义验证规则

  5. 5

    如何在团队服务中创建自定义构建环境?

  6. 6

    如何在Jodit中创建自定义按钮以将文本包装在代码标签中?

  7. 7

    LoopBack:如何在代码中动态创建自定义REST端点(即时)

  8. 8

    如何在Geany文本编辑器的“代码段”中创建自定义日期?

  9. 9

    如何在代码中创建自定义UIButton并在xib中使用它?

  10. 10

    如何在自定义PHP代码中创建可点击的超链接文本

  11. 11

    LoopBack:如何在代码中动态创建自定义REST端点(即时)

  12. 12

    如何在Sublime Text 2 for Linux中创建和使用自定义代码段?

  13. 13

    如何在 Wordpress 中创建一个简单的自定义短代码?

  14. 14

    是否可以添加自定义规则以推断AllegroGraph中的新关系?

  15. 15

    是否可以添加自定义规则以推断AllegroGraph中的新关系?

  16. 16

    如何使用自定义代码在Magento中创建?

  17. 17

    如何在 PowerShell 构建步骤中查询 TFS 构建定义自定义变量

  18. 18

    如何在ActiveAdmin gem中创建自定义页面

  19. 19

    如何在dart中创建自定义元素?

  20. 20

    如何在Django中创建自定义选择字段?

  21. 21

    如何在Android中创建自定义导航抽屉

  22. 22

    如何在Laravel 4中创建自定义外观

  23. 23

    如何在Drupal 7中创建自定义块?

  24. 24

    如何在AngularJs服务中创建自定义事件

  25. 25

    如何在Moodle中创建自定义表单?

  26. 26

    如何在C ++中创建自定义整数序列

  27. 27

    如何在android中创建自定义渐变?

  28. 28

    如何在AMPL中创建自定义函数?

  29. 29

    如何在SpriteKit中创建自定义混合模式

热门标签

归档