【问题标题】:Clang Installation铿锵安装
【发布时间】:2016-08-25 06:16:07
【问题描述】:

我正在尝试使用 Clang。

首先,我从here 下载了前两个源文件(LLVM 源代码 + Clang 源代码),位于“下载 llvm 3.8.1”部分。

然后,我提取它们,并将获得的提取目录重命名为llvm和clang(分别)。然后,我将 clang 目录放在 llvm/tools 中。

最后,我在“类 Unix 系统”小节中的“构建 Clang 和使用代码”部分下按照here 的指示进行操作。

顺便说一句,我在这些指令中将目录重命名为 clang 和 llvm 的原因是这些目录的名称,所以我想我应该重命名它们。

在第 9 步(“试试看”)中,当我输入“clang --help”时,我收到了以下消息:

"程序 'clang' 可以在以下包中找到:

  • clang 3.3
  • clang 3.4
  • 铿锵声3.5

试试 sudo apt-get install "

这意味着安装失败。 为什么?我还应该做什么?

提前致谢!

【问题讨论】:

  • 似乎之前构建失败,但您应该已经注意到,或者您没有正确设置 PATH。

标签: linux download installation clang llvm


【解决方案1】:

新建的clang会在build目录的bin目录下,这个build目录就是你执行命令的位置:

$ cmake -G "Unix Makefiles" <path_to_the_sources>

要运行此 clang,您需要为其添加路径:

$ <path_to>/bin/clang 

或者您可以 - 正如您所提到的说明所建议的那样 - 将 clang 的完整路径添加到您的 PATH 变量中。

如果您的当前目录是clang所在的位置,那么您仍然需要使用./将当前目录添加到其中:

$ ./clang

顺便说一句,这并不是特定于 clang 的。如果您键入任何没有路径的可执行文件的名称:

$ <name_of_executable>

然后命令行解释器将在 $PATH 变量的所有目录中查找该可执行文件。

你可以通过输入查看这些目录的列表

$ echo $PATH

你会看到类似的东西

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

命令行解释器将遍历列表并在其中一个目录中找到可执行文件。

(在 Windows 上,命令行解释器也将在当前目录中查找;这就是为什么如果程序位于当前目录中,则自行输入程序名称的原因)

可以通过which命令查看不指定路径就可以执行的程序所在的位置:

$ which gcc
/usr/bin/gcc

并为 Unix 的递归传统付出代价:

$ which which
/usr/bin/which

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多