【发布时间】:2014-03-11 15:46:35
【问题描述】:
我安装了 clang 来比较它与 g++ (gcc) 对一些 C++ 程序的使用;如,我比较了编译时间、错误反馈等。对于相同的程序。我这样做主要是为了官方 LLVM 教程(使用 LLVM 实现编译器)。
有一次,我需要安装 LLVM 库 (v. 2.9.),而在此之前我只下载了 clang。在此之后,使用 clang++ 进行编译似乎不适用于以下教程代码;而 g++ 似乎可以使用 LLVM 指令(例如,'llvm-config --libs` 等)。在安装库的同时,我还必须从正在阅读的旧教程(llvm 2.2.,建议 clang++ 语法)转到 3.0.0 的教程。 (建议使用 g++ 语法),因为库包含位置已更改。
我的问题解释下载 llvm 库后的变化:
(1) 当我现在键入“g++”时,我是否仍然在使用 gcc,或者是否将 llvm/clang 设置为模仿 gcc 语法的新默认值?如果是,我怎样才能确保我在需要时实际使用 gcc,而不是 clang?
(2) 如果 g++ 仍然是 gcc,任何意见/猜测为什么官方 clang/llvm 教程从建议使用自己的竞争编译器切换回 gcc? (例如,here)
我的系统:
Ubuntu 12.04.
llvm 2.9.
gcc 4.6.3.
铿锵3.0。
【问题讨论】:
-
你能尝试运行命令
which g++和g++ --version -
据我所知,clang 不会对现有的 gcc 可执行文件做任何事情。您链接的 LLVM 教程可以使用任何 C++ 编译器,所以我猜他们切换到 gcc,因为您的普通人更有可能拥有 gcc,而不是他们拥有 clang。
-
@vonbrand:我在软件管理器中输入了“llvm”。开发人员库弹出,我安装了。在我可以安排的地方,我更喜欢将我的安装集成到软件经理中。
-
@Andrew.punnett:会在早上回来比赛时做。
-
它没有别名,用which等确认,它仍然指向gcc。