我正在使用 Qt 5.3 生成 Visual Studio 2013 项目qmake。在我的.pro文件中,我有以下行:
MOC_DIR = $$BUILD_DIR/<DEBUG OR RELEASE>/moc
如果 I message($$MOC_DIR),则路径正确形成。但是,当我在 VS 中构建时,moc_<CLASS>.cpp文件不会在该位置生成,而是最终与.pro. 我在编译期间收到以下警告:
两个或多个名称为 的文件
moc_<CLASS>.cpp将产生输出到同一位置
这并不奇怪,因为如果我查看生成的内容.vcxproj,我会看到以下内容(不相关的标签/文本已省略...):
<CustomBuild Include="..\include\Class.hpp">
...
<Outputs Condition="...Release...">moc_Class.cpp;%(Outputs)</Outputs>
...
<Outputs Condition="...Debug...">moc_Class.cpp;%(Outputs)</Outputs>
...
</CustomBuild>
为什么我的习惯MOC_DIR被忽略了?