首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在QMake .pro文件中指定不同的调试/发布输出目录

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

Stack Overflow用户
提问于 2010-04-06 04:19:18
回答 10查看 117.6K关注 0票数 113

我有一个Qt项目,我想在源码树之外输出编译文件。

我目前有以下目录结构:

代码语言:javascript
复制
/
|_/build
|_/mylib
  |_/include
  |_/src
  |_/resources

根据配置(debug/release),我希望输出build/debug或build/release目录下build目录中的结果文件。

如何使用.pro文件做到这一点?

EN

回答 10

Stack Overflow用户

发布于 2010-04-06 16:35:00

对于我的Qt项目,我在*.pro文件中使用了这个方案:

代码语言:javascript
复制
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
           src/dialogs.cpp

Release:DESTDIR = release
Release:OBJECTS_DIR = release/.obj
Release:MOC_DIR = release/.moc
Release:RCC_DIR = release/.rcc
Release:UI_DIR = release/.ui

Debug:DESTDIR = debug
Debug:OBJECTS_DIR = debug/.obj
Debug:MOC_DIR = debug/.moc
Debug:RCC_DIR = debug/.rcc
Debug:UI_DIR = debug/.ui

这很简单,但是很好!:)

票数 157
EN

Stack Overflow用户

发布于 2010-04-06 04:46:30

要更改目标dll/exe的目录,请在pro文件中使用以下命令:

代码语言:javascript
复制
CONFIG(debug, debug|release) {
    DESTDIR = build/debug
} else {
    DESTDIR = build/release
}

您可能还希望更改其他构建目标的目录,如对象文件和moc文件(有关详细信息,请查看qmake variable referenceqmake CONFIG() function reference)。

票数 59
EN

Stack Overflow用户

发布于 2012-10-13 19:17:23

我有一个更紧凑的方法:

代码语言:javascript
复制
release: DESTDIR = build/release
debug:   DESTDIR = build/debug

OBJECTS_DIR = $$DESTDIR/.obj
MOC_DIR = $$DESTDIR/.moc
RCC_DIR = $$DESTDIR/.qrc
UI_DIR = $$DESTDIR/.ui
票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2580934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档