如何使用Qt VS加载项向Visual Studio中的Qt项目添加新配置?

时间:2012-11-26 16:17:27

标签: visual-studio-2010 qt configuration moc

我需要将一个新配置(除了Debug和Release之外)添加到使用QT Visual-Studio-add-in创建的Visual Studio项目中。

问题是moc文件没有自动添加到项目中。

QT Visual-Studio-add-in在哪里存储基于现有头文件添加moc_file的配置规则?

如果我生成像Release_Special这样的新配置 项目中应该有一个包含文件的新过滤器Release_Special

moc_Test1.cpp moc_Test2.cpp

使用正确的排除规则。

我正在使用VS2010和qt 4.8.3。

谢谢你,最诚挚的问候 M.S

1 个答案:

答案 0 :(得分:3)

花了一段时间,但我设法解决了。

  1. 您需要创建一个新配置,而不会丢失任何Qt加载项自定义添加的东西。打开配置管理器并创建配置,但请务必在“从...复制设置”下拉列表中选择“调试”或“发布”。假设您将新配置命名为“Debug-foo”,并使用预先存在的Debug配置中的设置。
  2. 建立项目。所有必需的文件都将被moc'd,输出将出现在GeneratedFiles \ Debug-foo目录中(它将自动创建)。然后构建将尝试从Debug配置处理moc文件,这显然不是我们想要的,所以一旦构建完成moc'ing,你就可以终止它。
  3. 在解决方案资源管理器中的Generated Files下添加一个名为“Debug-foo”的新过滤器,然后添加Add->现有项目,从GeneratedFiles \ Debug-foo中选择所有moc _(...)。cpp文件创建。
  4. 最后,但并非最不重要的是,选择Generated Files \ Debug过滤器中的所有文件,选择Properties并将“Excluded from build”设置为true,否则构建将包含Debug和Debug-foo中的moc_文件。
  5. 希望这将在一些新版本的加载项中得到修复。也许它已经存在,谁知道(我在插件1.1.10中遇到了这个问题)。

    关于moc_ generation规则存储位置的问题部分; 将配置创建为现有配置的副本可以省去添加自定义构建指令的麻烦,以便为需要它的每个文件调用moc。这些存储在invidual头文件的属性中,如果你想检查它们,需要在“自定义构建工具”下进行moc'ing。