我正在使用 Ubuntu 19.04 尝试编译旧版本的软件(carla 0.7.0),该版本仅允许在 clang-3.9 中进行编译
从我在线的研究来看,我还没有找到在这个版本的 Ubuntu 上安装 clang 3.9 的方法,我想知道是否有一种解决方法可以让我以某种方式安装它。
尽管在安装 carla 0.7 时在 boost 部分出现了大量编译错误,但我还是根据评论中的建议下载了 clang 3.9。
答案1
首先,我猜测 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,或者在 Clang 3.9 和 6.0 之间进行了某种向后不兼容的更改,你可以预构建的二进制文件来自 Clang。你可能想要适用于 Ubuntu 16.04 的 3.9因为它是这个旧版本的“最新”版本。
一旦你有了这个,你就可以以 root 身份提取所有这些东西/usr/local
。我确实注意到它没有附带二进制文件clang++3.9
,所以我不确定 Carla 开发人员从哪里得到它。你也需要符号链接/usr/local/bin/clang++
到来/usr/local/bin/clang++3.9
解决这个问题。
可能有更多的dragons 是否也对如何查找包含目录做了一些奇怪的事情。如果你可以使用较新版本的 Carla,那么你应该这样做,因为他们现在使用 CMake 和许多其他适当的构建技术。