gpt4 book ai didi

qt - 无法为 Qt Creator/qmake 自定义构建目录

转载 作者:行者123 更新时间:2023-11-30 02:37:18 25 4
gpt4 key购买 nike

我在尝试指定构建目录(在将所有文件复制到 DESTDIR 路径之前存储所有文件的目录)时遇到问题。

我的 .pro 文件中有以下值:

DESTDIR  = E:/Development/project/build/core/debug
OUT_PWD = E:/Development/project/build/core/debug
OBJECTS_DIR = $$DESTDIR/.obj
MOC_DIR = $$DESTDIR/.moc
RCC_DIR = $$DESTDIR/.qrc
UI_DIR = $$DESTDIR/.ui

现在,所有文件最终都位于该位置,但是在构建期间,编译器始终使用“E:/Development/build/MinGW_32bit-Debug/src/core”文件夹(注意缺少的项目路径)。这很烦人,因为我想使用/Project/build 目录作为这个位置(我的 git 存储库中没有跟踪它)。

理想情况下,我希望此路径为:E:\Development\project\build\src\core\debug

我想这样做的原因是构建过程具有相同的位置来包含来自(它是一个子目录项目)的编译库。

我查看了 Tools > Options > Build & Run > General 设置,默认构建目录是:build/build-%{CurrentProject:Name}- %{CurrentKit:FileSystemName}-%{CurrentBuild:Name}

我查看了我的 project.pro.user 文件,发现了以下行:

<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Development/build/MinGW_32bit-Debug</value>

但是我无法更改此值。如果我直接在文件中编辑这一行,一旦我再次打开 Qt Creator,更改就会恢复。

这是 Qt Creator 的东西,还是 qmake 的东西?我会更好地使用不同的构建系统,例如 CMake 吗?

最佳答案

通过在构建目录中启动qmakecmake 来“指定”构建目录。在 .pro 文件本身中设置它是没有意义的。

Qt Creator 将项目的构建目录存储在 .user 文件中。当项目在 Creator 中打开时,在 Qt Creator 之外对该文件所做的任何更改都将丢失。 Creator 在打开项目时加载文件,如果不存在则创建一个新文件。

当 Creator 通过调用 qmakecmake 开始构建时,它会在构建目录中启动该进程。这也是您应该如何从命令行手动构建项目。

最后,重写中间构建结果的目的地是没有意义的。它们位于构建目录中的某个位置,这才是最重要的。无论如何,您不会直接将这些文件用于任何事情。

构建qmake工程的习惯方式:

mkdir project-build
cd project-build
qmake ~/project-src
make -j

构建文件夹不应该在源代码树中!

我最近开始将它们保存在 $TEMP/%TEMP% 中:手动清除各种测试项目的陈旧构建,这些项目在一段时间后变旧了 :)

关于qt - 无法为 Qt Creator/qmake 自定义构建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31799753/

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