为什么在带有Qt加载项的Visual Studio Qt项目中添加自定义构建步骤会停止自动MOC和UIC步骤?

Cli*_*ord 5 qt custom-build-step visual-studio-2010

我有一个使用Visual Studio Qt加载项的Visual Studio Qt项目.外接程序自动为.ui文件和每个头文件创建一个自定义构建工具规则,该头文件具有带有Q_OBJECT声明的类,分别运行UIC和MOC.

这一切都完美无缺,直到我为整个项目添加自定义构建工具规则.在此实例中,该规则特定于Release构建并调用代码签名,并设置为Execute after:Build.使用此配置,Debug构建正常工作,但Release不会自动执行MOC或UIC.我可以在项目浏览器中右键单击Q_OBJECT标头和.ui文件,并手动强制编译所有必需的文件,然后它们正确MOC和UIC,然后可以构建,但是清理后重建或构建总是失败.

为什么添加项目项目的定义生成规则似乎已禁止关联.ui和Q_OBJECT标题的自定义生成工具规则?

Cer*_*rno 4

在自定义构建步骤中,将“执行后”设置为 BuildGenerateSources。

这通过添加行在 vcxproj 文件中表示

<CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">BuildGenerateSources</CustomBuildAfterTargets>
Run Code Online (Sandbox Code Playgroud)

<PropertyGroup>街区