无法自定义Qt Creator

时间:2015-08-04 02:31:56

标签: c++ qt build-process

我在尝试指定构建目录时遇到问题(在将它们复制到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吗?

1 个答案:

答案 0 :(得分:3)

通过在构建目录中启动qmakecmake来“指定”构建目录。没有必要在.pro文件中设置它。

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

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

最后,覆盖中间构建结果的目标毫无意义。它们位于构建目录中的某个位置,这一切都很重要。无论如何,你都没有直接使用这些文件。

构建qmake项目的习惯方法:

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

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

我最近开始将它们保存在$TEMP / %TEMP%中:手动清除所有类型的测试项目的陈旧版本在一段时间后变旧:)