gpt4 book ai didi

c++ - 如何在 QT 项目的输出构建中包含一个 json 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:33 25 4
gpt4 key购买 nike

我是 QT Creator 的新手。我在我的 QT C++ 项目中添加了一个 .json 文件和几个 .txt 文件,我可以在我的项目窗口中看到这些文件。当我清理、运行 qmake 然后构建所有文件时,我希望将这些文件复制到我的输出目录,但它们不在那里。我检查了我的 .pro 文件,我确实有这些条目

OTHER_FILES +=\ 我的 JsonFile.json\ 我的文本文件.txt\ 自述文件.txt(注:每个文件名单独一行)

我如何在构建时将这些文件复制到我的输出目录?我希望程序一启动就可以访问它们。我在 QT 文档中看到它说您可以添加新的 > 常规 > 文本文件,但文档只说您可以在项目窗口中看到该文件。他们没有解释如何让他们复制到您的构建中,我无法在任何地方找到答案。我在 Windows 7 机器上使用基于 QT 5.2.1 的 QT Creator 3.0.1。感谢您的指导。

编辑:我希望我可以将 json 和文本文件保留在应用程序之外,以便我可以在运行时或程序执行之间更改文件中的值,并让项目在启动时提取新值。

最佳答案

构建目录和安装目录是不同的概念。如果您只是构建,则不应期望实际安装任何东西。

在 Qt Creator 中,当您有一个基于 qmake 的项目时,默认build设置会调用 make。要安装,您需要调用 make install。这可以作为额外的构建步骤添加到项目的“构建和运行”选项卡中。

对于 qmake,安装目录没有默认位置,也没有声明要安装的对象,因此 make install 默认是空操作。

需要安装的文件是:

  1. 设置为 qmake 对象。
  2. 必须将对象添加到 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

关于c++ - 如何在 QT 项目的输出构建中包含一个 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com