vs2010的$(OutPut)输出目录设置问题

今天重新整合整个组件的编译配置时,发现一个很奇怪的问题:

在VS2010中,把$(OutPut)设置为output\$(Platform)\fxhelper\$(Configuration)\

把中间目录$(IntDir)设置为$(OutPut),

设置完后编译发现每次生成的中间文件还是都在vs2010目录。

这问题百思不解,实在找不到答案,怎么设置都不对,如果把$(OutPut)设成其他,他又是生效的,

后来打开工程文件.vcxproj终于发现有一个地方的先后顺序貌似有问题,如下:

充中看到他的中间目录$(IntDir)的定义在输出目录$(OutPut)的定义之前,所以他的$(OutPut)变量认为是空的,

所以就不对了,我把他改成如下,立马就能达到我的要求了

我认为这个完全是微软的坑爹设计,用户在不用文本方式打开工程文件的话,怎么可能发现这样的bug。

从此记住一点,在vs中设置变量(特别是第一次设置该变量时),也要考虑下设置的顺序,不然他生成的工程文件中,

先后顺序不对,就全错了。错了后再修改其变量如上问中的$(OutPut),$(IntDir)也不会再生效了,只对$(OutPut)生效。

posted @ 2014-08-25 16:44  平湖有风  阅读(2500)  评论(0编辑  收藏  举报