【问题标题】:Why compile button is disabled in VisualStudio?为什么在 Visual Studio 中禁用编译按钮?
【发布时间】:2011-01-17 09:35:27
【问题描述】:

由于某种原因,当我打开我的项目时,编译按钮被禁用。我在 C++ 文件中并且 Ctrl+F7 不起作用,Menu/Build/Compile 被禁用,并且在 SolutionExplorer 的上下文菜单中编译也被禁用。我可以用 F7 构建项目,但我不能编译单个文件。它以前工作得很好。

任何想法为什么?

【问题讨论】:

  • 也许该文件不是项目的一部分?
  • 您打开了一个 C++ 文件。您尚未打开项目。
  • 我已经打开了项目并且文件是项目的一部分(我通过在 SolutionExplorer 中双击打开文件)。

标签: visual-studio button compilation


【解决方案1】:

因为我的项目没有在我的解决方案中设置为启动项目,所以遇到了同样的问题。设置它可以解决问题。

【讨论】:

  • 确实如此,至少对于 Visual Studio 2017 而言。设置为启动项目一旦使其工作。这是 Visual Studio 错误本身。如此轻微。
【解决方案2】:

问题似乎在我这边:我的团队中有人介绍了一些构建脚本,这些脚本显然只适用于构建整个项目。

【讨论】:

    【解决方案3】:

    也可能是找不到引用的属性表。您可以通过尝试查看项目的属性(Alt-Enter)来检查这一点。当找不到属性表时,将显示警告。修复属性表引用,大概可以重新编译。

    注意:问题已在不久前提出/回答,但可能对其他人有用。

    【讨论】:

      【解决方案4】:

      我的项目使用的是统一构建的中间版本(有时称为 blob 构建),其中大约 10 个 cpp 文件组通过包含在一些 blob_xxx.cpp 中而被放入同一编译单元中。该项目仅将blob_xxx.cpp 视为源文件,因此从技术上讲,我正在处理的.cpp 不是该项目的源文件,因此Compile 命令被禁用(这与保利乌斯的经历)。

      在这种情况下,您需要选择 blob_xxx.cpp 文件和 Compile 这个单个文件,或者切换到非 blob 构建。 如果您的目标是快速测试编译错误,您可以注释掉所有未处理的文件的includes。

      或者,您可以设置项目生成脚本以将您正在处理的文件隔离在单独的 blob 中(由您定义“正在处理”的含义;它可能是手动列表或 cpp 文件列表如果使用它,则在 Perforce 中签出)。

      【讨论】:

        猜你喜欢
        • 2017-10-26
        • 2011-01-09
        • 2022-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        相关资源
        最近更新 更多