18

qt creator 中有一个我非常喜欢的功能,那就是 Shadow 构建。当 Shadow Build 开启时,所有生成的文件(*.moc、Makefile、*.o)都将在给定的源目录中生成,因此源目录保持干净。我正在从 qt creator 转移到 kdevelop,我试图弄清楚这个功能是如何工作的,到目前为止,我可以使用 variables 将生成的二进制文件、moc 文件和目标文件创建到额外的目录中,DESTDIR但是我无法创建 makefile在这个目录中。有任何想法吗?OBJECTS_DIRMOC_DIR

4

2 回答 2

28

AFAIK QtCreator 所做的,基本上可以归结为:

 mkdir my_shadow_build
 cd my_shadow_build
 qmake ../my_src_dir

这会在构建目录中创建 Makefile 本身并简单地运行

 make

那里使用原始目录中的源在构建目录下创建所有临时文件。这不需要 .pro 文件中的任何特殊内容,而仅取决于“从外部”的用法。

于 2011-03-06T17:49:35.627 回答
1

您还可以尝试 KDevelop 的实验性 QMake 支持插件:https ://projects.kde.org/kdev-qmake

它在第一次启动时要求您提供一个构建文件夹并执行影子构建工作。请注意,您需要确保正确编写 .pro 和 .pri 文件 - 很容易搞砸。CMake 在这方面要简单得多!

于 2011-04-08T14:10:27.220 回答