Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 为什么在visualstudioqt项目中使用Qt插件添加自定义构建步骤会停止自动MOC和UIC步骤?_Visual Studio 2010_Qt_Custom Build Step - Fatal编程技术网

Visual studio 2010 为什么在visualstudioqt项目中使用Qt插件添加自定义构建步骤会停止自动MOC和UIC步骤?

Visual studio 2010 为什么在visualstudioqt项目中使用Qt插件添加自定义构建步骤会停止自动MOC和UIC步骤?,visual-studio-2010,qt,custom-build-step,Visual Studio 2010,Qt,Custom Build Step,我有一个使用VisualStudioQT加载项的VisualStudioQT项目。外接程序会自动为.ui文件和每个头文件创建一个自定义生成工具规则,这些头文件中包含分别运行UIC和MOC的带有Q_对象声明的类 在我为整个项目添加自定义构建工具规则之前,这一切都是完美的。在本例中,该规则特定于发布版本并调用代码签名,并设置为在:build之后执行。使用此配置,调试构建可以正常工作,但版本不会自动执行MOC或UIC。我可以在项目浏览器中右键单击Q_对象标题和.ui文件,并手动强制编译所有必要的文件,

我有一个使用VisualStudioQT加载项的VisualStudioQT项目。外接程序会自动为.ui文件和每个头文件创建一个自定义生成工具规则,这些头文件中包含分别运行UIC和MOC的带有Q_对象声明的类

在我为整个项目添加自定义构建工具规则之前,这一切都是完美的。在本例中,该规则特定于发布版本并调用代码签名,并设置为在:build之后执行。使用此配置,调试构建可以正常工作,但版本不会自动执行MOC或UIC。我可以在项目浏览器中右键单击Q_对象标题和.ui文件,并手动强制编译所有必要的文件,这些文件正确地进行了MOC'd和UIC'd,然后可以生成,但重建或清理后生成总是失败


为什么为项目添加项目自定义生成规则似乎抑制了与.ui和Q_对象标题关联的自定义生成工具规则?

在自定义生成步骤中,将“执行后”设置为BuildGenerateSources

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

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

谢谢-尽管时间已经过去了!最后,我横向解决了这个问题,将其作为安装程序项目中的一个预构建步骤,应用程序是一个构建依赖项。是的,我考虑过通过扩展我已有的预构建步骤来做同样的事情,但幸运的是,有一种方法可以正确地解决这个问题。