【发布时间】:2019-09-06 08:30:59
【问题描述】:
我想构建我的程序的两个版本,一个是“普通”版本,一个是地址清理程序已激活的版本。截至目前,我的QSoas.pro中有这个
sanitizer {
message("Activating the address sanitizer code")
OBJECTS_DIR = build-snt
QMAKE_CXXFLAGS += -fno-omit-frame-pointer -fsanitize=address
LIBS += -fsanitize=address
TARGET = $$join(TARGET,,,-snt)
}
这样,我可以做到:
~ qmake
~ make
获取普通版本,并且
~ qmake CONFIG+=sanitizer
~ make
获取带有地址清理程序的版本。
这很好,但有点麻烦,尤其是因为我实际上需要qmake 命令行上的许多其他配置选项。有没有办法有两个目标,这样我就可以简单地运行
~ qmake
~ make
~ make my-sanitized-exe
【问题讨论】:
-
this 你在找什么吗?
-
我不确定它会起作用。只是一个想法。您可能有一组 makefile,每个都指定自己的配置并调用
make和-f选项来指定要使用的 makefile。 -
@NguyenCong 这就是我已经在做的事情了。
-
@vahancho 这确实是一种可能性......通过qmake自动重建makefile,它实际上可以工作。你会对此做出完整的回答吗?不过,它看起来像个 hack :-)...