我是QT Creator的新手。我已经将一个.json文件和几个.txt文件添加到我的QT C ++项目中,我可以在项目窗口中看到这些文件。当我清理,运行qmake然后构建所有,我希望这些文件被复制到我的输出目录,但它们不在那里。我检查了我的.pro文件,我确实有条目
OTHER_FILES + = \ MyJsonFile.json \ MyTxtFile.txt \ 的ReadMe.txt (注意:每个文件名都在一个单独的行上)
在构建构建时,如何将这些文件复制到输出目录中?我希望程序一启动就可以访问它们。我在QT文档中看到它说你可以添加新的>一般>文本文件,但文档只说你可以在项目窗口中看到该文件。他们没有解释如何让他们复制到你的构建,我无法在任何地方找到答案。我在Windows 7机顶盒上使用基于QT 5.2.1的QT Creator 3.0.1。感谢您提供任何指导。
编辑:P.S。我希望我可以将json和文本文件保留在应用程序之外,以便我可以在运行时或程序执行之间更改文件中的值,并让项目在启动时拉出新值。
答案 0 :(得分:2)
构建和安装目录是单独的概念。如果你只是构建,你不应该期望实际安装任何东西。
在Qt Creator中,当你有一个基于qmake的项目时,默认的构建设置会调用make
。要安装,您需要调用make install
。这可以作为项目的“构建和运行”选项卡中的附加构建步骤添加。
使用qmake时,安装目录没有默认位置,并且没有声明要安装的对象,因此默认情况下make install
是无操作。
要安装的文件必须是:
INSTALLS
变量。例如:
# Sets the default installation prefix to the build directory.
# This is the same default that Qt's configuration process uses.
!defined(PREFIX,var): PREFIX = $$OUT_PWD
MY_RESOURCES = \
MyJsonFile.json \
MyTxtFile.txt \
ReadMe.txt
OTHER_SOURCES += $$MY_RESOURCES
# Object describing the resources to install
my_resources.path = $$PREFIX/share/myproject
my_resources.files = $$MY_RESOURCES
# The automatically generated object describing the target.
target.path = $$PREFIX/bin/myproject
# Declare my_resources and target objects to be installed.
INSTALLS += my_resources target
用户或包管理器脚本应该给出 qmake所需的安装前缀。完成了完整的构建 一个空的构建目录(所谓的影子构建)看起来像:
# on Unix
qmake "PREFIX=/usr/local" /sourcedir/myproject.pro
# on Windows (the installation into Program Files won't
# be done by make, but by an installer!)
qmake /sourcedir/myproject.pro
make
make install
答案 1 :(得分:0)
我认为您需要使用资源文件。只需创建一个资源文件并将文件添加到其中。构建应用程序时,您将始终在可执行文件中包含这些文件。 说实话,我不知道如何使用QtCreator,因为我一直使用eclipse与插件。我可以建议阅读一篇文章:Managing Resources
修改强> 在我回答之后,OP告诉我那些文件将在运行时更改..所以我的回答显然不是他想要的。有人可以告诉我该怎么做这个答案?感谢。