Ran Elgiser Asked: 2019-09-05 01:14:28 +0800 CST2019-09-05 01:14:28 +0800 CST 2019-09-05 01:14:28 +0800 CST ubuntu 19.04 上的 clang 3.9 772 我正在使用 Ubuntu 19.04 尝试编译仅允许在 clang-3.9 中编译的旧版本软件(carla 0.7.0) 根据我的在线研究,我还没有找到在这个版本的 Ubuntu 上安装 clang 3.9 的方法,我想知道是否有一种解决方法可以让我以某种方式安装它。 尽管通过 boost 部分中的大量编译错误安装了 carla 0.7,但我还是使用我在评论中得到的建议设法下载了 clang 3.9。 clang 19.04 1 个回答 Voted Best Answer Kristopher Ives 2019-09-05T01:29:32+08:002019-09-05T01:29:32+08:00 首先,我的猜测是 Carla 0.7.0 将使用现代 Clang 版本构建,而正是这个检查可能表明它需要 Clang 3.9: # Require clang 3.9 command -v clang++-3.9 >/dev/null 2>&1 || { echo >&2 "clang 3.9 is required, but it's not installed."; echo >&2 "make sure you build Unreal Engine with clang 3.9 too."; exit 1; } 如果是这种情况,您可能应该尝试符号链接/usr/bin/clang++并/usr/bin/clang++3.9查看它是否可以编译。 假设这不起作用,并且它确实希望在 Clang 的 3.9 和 6.0 之间进行特定版本的 Clang 或某种向后不兼容的更改,您可以从 Clang预构建二进制文件。您可能想要Ubuntu 16.04 的 3.9,因为它是这个旧版本的“最新”版本。 一旦你有了它,你就可以将所有这些东西提取/usr/local为 root。我确实注意到它没有附带clang++3.9二进制文件,所以我不确定 Carla 开发人员从哪里得到它。你也需要符号链接/usr/local/bin/clang++来/usr/local/bin/clang++3.9解决这个问题。 如果他们在查找包含目录的方式上做了一些奇怪的事情,可能会有更多的龙。如果您可以使用更新版本的 Carla,您应该使用,因为他们现在使用 CMake 和许多其他适当的构建技术。
首先,我的猜测是 Carla 0.7.0 将使用现代 Clang 版本构建,而正是这个检查可能表明它需要 Clang 3.9:
如果是这种情况,您可能应该尝试符号链接
/usr/bin/clang++
并/usr/bin/clang++3.9
查看它是否可以编译。假设这不起作用,并且它确实希望在 Clang 的 3.9 和 6.0 之间进行特定版本的 Clang 或某种向后不兼容的更改,您可以从 Clang预构建二进制文件。您可能想要Ubuntu 16.04 的 3.9,因为它是这个旧版本的“最新”版本。
一旦你有了它,你就可以将所有这些东西提取
/usr/local
为 root。我确实注意到它没有附带clang++3.9
二进制文件,所以我不确定 Carla 开发人员从哪里得到它。你也需要符号链接/usr/local/bin/clang++
来/usr/local/bin/clang++3.9
解决这个问题。如果他们在查找包含目录的方式上做了一些奇怪的事情,可能会有更多的龙。如果您可以使用更新版本的 Carla,您应该使用,因为他们现在使用 CMake 和许多其他适当的构建技术。