我不确定这是否过于笼统,所以如果是的话,我会说我在 Linux 上使用 qmake,但我希望能够在我的项目中从 Linux 切换到 Windows需要,可能还有其他 PC。
为了做到这一点,我想知道这里的一些程序员是如何在不使用绝对路径定义的情况下使用资源目录的。对于 Qt,运行时工作目录似乎是应用程序的 build 目录,而不是源目录。
理想情况下,我认为最好的解决方案是以某种方式获取位于源目录中的 Resource 目录,并将其复制到相关构建目录(即 Debug 或 Release,取决于开发阶段),以便应用程序可以通过运行时访问它。
然而,这可能会带来一些复杂情况(至少,我认为可以)。
无论如何,执行此操作的好的解决方案是什么?
最佳答案
如果您使用的是 Qt。我建议使用部署过程。 http://doc.qt.digia.com/qtcreator/creator-building-running.html
基本上,您只需要声明需要复制哪些目录即可。 构建过程完成后,qt 创建器会将这些目录复制到构建目录(发布/调试)。然后您只需运行可执行文件即可。
这是其中一个例子。 https://github.com/longwei/incubator-cordova-qt .
在pro文件中
wwwDir.source = www
xmlDir.source = xml
qmlDir.source = qml
DEPLOYMENTFOLDERS = wwwDir xmlDir qmlDir
第二个
include(deployment.pri)
qtcAddDeployment()
然后就完成了。
关于c++ - 实现资源目录的良好做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846530/