Sunday, May 03, 2009

关于 qmake 的一个诡异的事情

不知道为什么,巨汗,本来以为那个 scope 可以很容易实现在 debug 和 release 版本下把目标文件放在不同的目录下,只需要

debug {
 DESTDIR = debug
}
release {
  DESTDIT = release
}
就完了,结果非常的 frustrating,网上看见不少人跟我有类似的抱怨,就是写了但不 work,比如有的是希望 LIBS 不一样什么的,但是居然有人说没这回事,可是在我机器上这个事情发生了 N 次了。你看看生成的 Makefile.Debug 和 Make.Release 好了,这样写最后 target 都是 release/$$TARGET,天知道为啥这个 scope 就被忽视了。

最后现在用下面的方法“解决”了,其实不是解决吧,因为我也不知道为啥。

CONFIG(debug,debug|release) {
  DESTDIR = debug
} else {
  DESTDIR = release
}
最囧的是,必须把这句话放在 CONFIG 变量前面... 我到...

No comments: