我正在尝试使用Clang。
首先,我从here下载了前两个源文件(LLVM源代码+ Clang源代码),#34;下载llvm 3.8.1"。
然后,我提取它们,并将获得的提取目录重命名为llvm和clang(分别)。然后,我将clang目录放在llvm / tools。
中最后,我遵循了here部分,在&#34;建立Clang部分,并使用代码&#34;,在类似于Unix的系统中的#34;&#34;。< / p> 顺便说一句,我将这些目录重命名为clang和llvm的原因就像这些目录一样,这些是目录的名称,所以我想我应该重命名它们。
在第9步(&#34;尝试出来&#34;),当我输入&#34; clang --help&#34;时,我收到了消息:
&#34;该节目&#39; clang&#39;可以在以下包中找到:
尝试sudo apt-get install&lt;选定的包&gt;&#34;
这意味着安装失败。 为什么?我还应该做什么?
提前致谢!
答案 0 :(得分:1)
新构建的clang
将位于构建目录的bin
目录中,此构建目录是您执行命令的位置:
$ cmake -G "Unix Makefiles" <path_to_the_sources>
要运行此clang,您需要添加路径:
$ <path_to>/bin/clang
或者您可以 - 按照您提到的说明建议 - 将clang的完整路径添加到您的PATH变量。
如果当前目录位于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