首页 > 解决方案 > 从 Visual Studio 2019 的源代码构建 cmake

问题描述

如果尝试从https://github.com/microsoft/CMake构建 cmake 3.18,我会收到以下错误。

gmake: *** No rule to make target '/home/ubuntu/Projects/CMake/Source/cmStringTable.cxx'

顺便说一句,该文件不在任何文件夹中。

系统是ubuntu arm64。

据说因为激活了CMake Server模式,所以必须使用这个版本。

我可以在同一台机器上从套件构建 cmake 而不会出现问题。

标签: visual-studiocmake

解决方案


这是 Mircosoft 分叉的一个已知问题:https ://github.com/microsoft/CMake/issues/90

用户“tinco”写道:

我通过不使用引导程序而是使用 cmake 自行编译来为自己修复它。

我认为解决此问题的方法是从引导脚本中删除对 cmStringTable 的提及。更完整的解决方法是让引导脚本生成组件,而不是硬编码。

因此,您应该使用您的系统 CMake 来构建 Microsoft 的 fork,而不是使用他们的引导脚本。


据说因为激活了CMake Server模式,所以必须使用这个版本。

不过,我想知道,这是谁说的?CMake 服务器模式不久前被弃用。Microsoft 发布了自己的二进制文件,作为 Visual Studio 2019 的 Windows CMake 工具的一部分。我很好奇你为什么要在 Linux 上使用这个 fork,而不是上游版本。


推荐阅读