5

我有一个使用 Visual Studio Qt 插件的 Visual Studio Qt 项目。插件会自动为 .ui 文件和每个包含带有 Q_OBJECT 声明的类的头文件创建自定义构建工具规则,以分别运行 UIC 和 MOC。

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

为什么为项目添加项目自定义构建规则似乎抑制了与 .ui 和 Q_OBJECT 标头关联的自定义构建工具规则?

4

1 回答 1

4

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

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

<CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">BuildGenerateSources</CustomBuildAfterTargets>

<PropertyGroup>街区

于 2015-08-05T06:45:08.013 回答