3

这是我在 .pro 中添加的用于设置自定义构建目录的行。

BASEPATH = ../some/path/
CONFIG(debug, debug|release) {
    BUILDDIR = $${BASEPATH}/debug
} else {
    BUILDDIR = $${BASEPATH}/release
}
OBJECTS_DIR = $${BUILDDIR}/obj
MOC_DIR = $${BUILDDIR}/moc
RCC_DIR = $${BUILDDIR}/rcc
UI_DIR = $${BUILDDIR}/ui
MAKEFILE = $${BUILDDIR}/Makefile

但是,它失败并出现错误:

error : No rule to make target `../project/project.pro', needed by `Makefile'.  Stop.

如果我删除该MAKEFILE=...行但我不希望 Makefile 在与源文件相同的目录中输出,则效果很好。

那么我是在寻找一些不可能的事情还是MAKEFILE要编辑错误的变量?谢谢。

4

2 回答 2

0

您可以通过将源文件添加到单独的 src 文件夹来将它们分开。这个问题也可以帮助你:-

如何在 QMake .pro 文件中指定不同的调试/发布输出目录

于 2013-07-29T15:46:38.263 回答
0

你听说过影子建筑吗?

影子构建意味着在单独的目录 build 目录中构建项目。构建目录与源目录不同。影子构建的好处之一是它可以保持源目录干净,从而可以更快地在构建配置之间切换。因此,如果您需要为一组源文件进行许多构建配置,那么影子构建是最佳实践。

如果您使用 Qt Creator 构建项目,请参阅其手册:Editing Build Configurations。但是,如果您在命令行上构建它,那么请在 SO 上查看此问题和答案:Manually configure shadow build in qmake

于 2013-07-30T06:33:44.133 回答