我最近一直在使用qt,并且将一些项目组织到一个Subdirs中以开始一个更大的项目,然后去操作pro文件,以便将我的构建文件放在我想要的位置。但是,我对其中任何一个所做的更改都将被忽略。我有一个可以编译为可执行文件的主项目,然后还有两个可以编译为DLL的其他项目。我希望可执行文件和库最终位于subdirs pro文件所在的同一目录中。这是我尝试过的子目录的专业文件:

TEMPLATE = subdirs

SUBDIRS += \
    MainWindow \
    FileLoader

Debug:DESTDIR = $$_PRO_FILE_/debug
Debug:OBJECTS_DIR = $${DESTDIR}/.obj
Debug:MOC_DIR = $${DESTDIR}/.moc
Debug:RCC_DIR = $${DESTDIR}/.rcc
Debug:UI_DIR = $${DESTDIR}/.ui

Release:DESTDIR = $$_PRO_FILE_/release
Release:OBJECTS_DIR = $${DESTDIR}/.obj
Release:MOC_DIR = $${DESTDIR}/.moc
Release:RCC_DIR = $${DESTDIR}/.rcc
Release:UI_DIR = $${DESTDIR}/.ui

之后,我在所有三个子项目的pro文件中都放置了相同的路径块,并且所有构建文件仍然位于我的Qt Projects目录中的一个名为“build-Chromatic-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug”的目录中(Chromatic是该项目)。有人可以帮我整理我的专业文件,以便在我想要的地方做这些东西吗?再次,我想要subdirs pro文件所在目录中所有项目的所有构建文件。

最佳答案

  • 应该使用_PRO_FILE_而不是_PRO_FILE_PWD_,因为第一个变量包含使用中的项目文件的路径,第二个变量包含包含使用中的项目文件的目录的路径。
  • 在Qt Creator中,您应该deselect the Shadow build checkbox:“默认情况下,Qt Creator在影子构建的情况下在源目录的单独目录中构建项目。这会将为每个构建和运行工具包生成的文件分开。如果仅使用单一套件,则可以取消选中“阴影构建”复选框。”
  • 07-24 18:27
    查看更多