我尝试让我的Qt Installer项目更舒适。
我需要将有关我的应用程序和组件(config.xml和package.xml)的信息集中在一个文件中。我不想跳过具有相同名称的不同文件,并在xml标记之间搜索可更改的元素。
我的第一个想法是在安装程序项目的* .pro文件中正确执行。我将部分变量放在安装程序项目文件的标题中。但是我需要在哪里放置xml生成代码?
这样做的更好(原生/舒适/跨平台)方式是什么?
答案 0 :(得分:0)
答案很简单:您无法为Qt安装程序生成XML文件:您可以手动编写它们,如documentation中所述。
本节介绍了创建安装程序时必须完成的以下任务:
- 创建一个包目录,其中包含所有配置文件和可安装包。
- 创建配置文件,其中包含有关如何构建安装程序二进制文件和联机存储库的信息。
- 创建包信息文件,其中包含有关可安装组件的信息。
- 创建安装程序内容并将其复制到程序包目录。
- 使用 binarycreator 工具创建安装程序。
醇>
但是,如果仔细观察at the examples,仍然可以在* .pro文件中生成安装程序。我们随机选择一个例子System Info:
TEMPLATE = aux
INSTALLER = installer
INPUT = $$PWD/config/config.xml $$PWD/packages
example.input = INPUT
example.output = $$INSTALLER
example.commands = ../../bin/binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT}
example.CONFIG += target_predeps no_link combine
QMAKE_EXTRA_COMPILERS += example
OTHER_FILES = README
如果您想将此应用于您的项目,我认为您必须通过更改PATH来修改../../bin/binarycreator
行并使其系统感知。可能可以调用外部脚本并解析XML文件,并进行您想要进行的替换,但是您可以将复杂性转移到另一个地方。
您可以在XSLT和XML之间创建一些东西,而不是维护简单的旧XML文件。也许你可以只编写XSLT(或XSL或XQUERY)并生成XML,但我不知道有谁在使用它。上次我使用它是在很久以前我学习计算机科学的时候:)