在.pro文件中,如果您包括头文件(使用HEADERS
)、C++文件(使用SOURCES
)和Objective/Objective++文件(使用OBJECTIVE_SOURCES
),那么事情就很简单了,但我不太清楚应该如何包含其他文件类型。
例如,查看Qt提供的各种示例,对于QML文件应该是DISTFILES
、OTHER_FILES
还是包含在.qrc文件(即RESOURCES
)中,存在不一致之处。我已经开始在qml.qrc
文件中放置QML文件了。
我之所以提出这个问题,是因为我在.qrc文件中包含了数据文件,如音频.qrc文件(也如Qt示例中所示;例如Qt快速演示-陷入困境),但这减慢了编译速度。对于Windows上的MinGW,当它达到1GB时,它就会出现内存不足的错误。一定有更好的方法包括这些!
请提供一份指南,说明何时使用:
DISTFILES
OTHER_FILES
RESOURCES
发布于 2016-06-29 14:45:26
引用手册的话
资源
指定目标的资源集合文件(qrc)的名称。..。
DISTFILES
指定要包含在dist目标中的文件列表。此特性仅受UnixMake规范的支持。..。
OTHER_FILES
这似乎实际上是没有文件的,至少我什么也找不到。据我所知,这里列出的所有文件仅在项目资源管理器(例如Qt )中链接,而qmake不以任何方式处理。
至于您的示例,您可以考虑按原样传送文件,而不是将它们包含在任何资源文件中,因为它们是编译成二进制文件。
您还可以查看大型文件的编译外部资源并使用它们,以保持Qt资源系统的简单性。
发布于 2016-06-29 14:44:50
DISTFILES
:对于unix来说,在大多数情况下您不会使用特殊的东西。从医生那里:指定要包含在dist目标中的文件列表。此特性仅受UnixMake规范的支持。
OTHER_FILES
:文件,它们是您项目的一部分,但不是“构建”的一部分。这可能是诸如自述、构建提示或其他不适合任何其他类别的东西。RESOURCES
:.qrc
-files,将被编译到应用程序中。关于这三者在QML中的使用情况:
对于其他文件,您可以基本使用DISTFILES
或OTHER_FILES
。在QtCreator中,节点中显示为其他文件。对于大多数开发人员来说,这两者是可以交换的。Qt示例是本地项目,因此它们要么不需要资源,要么两者都需要,也就是说,您可以在例如OTHER_FILES
和RESOURCES
中找到QML-文件。
对于QML文件,您应该始终使用RESOURCES
,以确保它们在二进制文件中。
发布于 2021-04-15 09:13:19
说到DISTFILES
,你可以自己试试。
假设您在Windows上使用Qt。下面是一个非常简单的qmake项目文件project.pro
TEMPLATE = app
DISTFILES += "C:\Windows\explorer.exe"
qmake
it,您可以在生成的Makefile.Debug和Makefile.Release中找到以下语句
DIST = C:\Windows\explorer.exe
...
dist:
$(ZIP) project.zip $(SOURCES) $(DIST) project.pro
...
dist
是标准指标之一。我从makefile - make和make dist有什么区别?-堆栈溢出那里学到的。
https://stackoverflow.com/questions/38102160
复制相似问题