Visual Studio 2017 - 为依赖项禁用 CMake
Posted
技术标签:
【中文标题】Visual Studio 2017 - 为依赖项禁用 CMake【英文标题】:Visual Studio 2017 - Disable CMake for dependencies 【发布时间】:2018-12-21 15:46:16 【问题描述】:我有一个 Visual Studio 2017 解决方案,它具有一些仅标头的依赖项,这些依赖项是多平台的并使用 CMake。
我根本不需要 CMake,但我不断收到很多警告和问题,因为 Visual Studio 2017 坚持使用 CMake、探索这些项目等。
有没有办法完全禁用此解决方案/项目的 CMake 功能?
更新:
我将项目作为解决方案而不是 CMake 项目加载。
它是一个只有头文件的库,不需要 CMake 即可工作。它只是将它用于测试和其他目的。
我将依赖项保留为 git 子模块,因此我不想对其进行更改。通过将其作为包含路径等添加到主项目中,它可以正常工作。
我唯一想要避免的是这些目录中的 CMake 自动发现,因为我没有用它。
例如:
将Eigen 添加到您的项目中,作为名为 Eigen 的目录中的子模块。 (这是一个只有头文件的库)
在你的解决方案中编写一些代码并引用头文件(你需要添加正确的包含路径等)
您会看到 CMake 会选择 Eigen(实际上不需要时)
您将收到警告和目标等。
【问题讨论】:
如果您依赖使用 CMake 进行配置的第三方库,那么我认为您确实需要 CMake。请注意,坚持 CMake 的不是 VS2017 本身,而是你使用的库。 它是一个只有头文件的库。它不依赖于 CMake,它只是用于测试等。我对此非常确定。 如果是header-only库,就不能坚持使用CMake。只需将标题放在可用的地方,然后将路径添加到 -I 规则 我将依赖项保留为 git 子模块。通过添加为包含路径它可以正常工作。我唯一想要的是避免这些目录中的 CMake 自动发现,因为我没有用它。 如果您使用的是由 CMake 生成的解决方案,则它包含更新和重建 CMake 依赖项的规则。您必须手动删除这些 CMake 规则或从头开始创建新的解决方案文件。 【参考方案1】:不要使用File->Open->CMake
打开 CMakeLists.txt。选择File->Open->File
。您也可以尝试通过安装工具卸载 Visual Studio 2017 的visual studio c++ tools for cmake
部分。
【讨论】:
卸载太苛刻了。这仅在此解决方案中发生。我其实很喜欢 CMake,我只是不想在这里。 我愿意,但我不使用 Visual Studio 的捆绑版本。似乎正在发生的事情是您正在使用集成的 CMake 项目资源管理器,将其作为 CMake 项目打开。【参考方案2】:在解决方案资源管理器中,找到 CMakeLists.txt,右键单击它。 选择自定义构建工具->常规。 从那里抹去一切。确保您有备份以防万一...
【讨论】:
此选项不存在。以上是关于Visual Studio 2017 - 为依赖项禁用 CMake的主要内容,如果未能解决你的问题,请参考以下文章
依赖项更改时 Visual Studio 运行自定义构建工具
更新依赖项后,如何让 Visual Studio Code IDE 更新类型?
更新 Visual Studio 2017,现在出现编译错误 C7510:“回调”:使用依赖模板名称必须以“模板”为前缀