我安装了clang来将其与某些C ++程序的g ++(gcc)进行比较。例如,我比较了编译时间,错误反馈等。对于相同的程序。我主要是为官方LLVM教程(使用LLVM实现编译器)进行此操作。
在某一时刻,我需要安装LLVM库(v。2.9。),而仅下载clang之前。之后,使用clang ++进行编译似乎不适用于以下教程代码;而g ++似乎可以与LLVM指令一起使用(例如,“ llvm-config --libs”等)。在安装库的同时,我还必须从我正在阅读的旧教程(llvm 2.2。,建议使用clang ++语法)转到3.0版。(建议使用g ++语法),因为库的包含位置已更改。
我的问题用来解释下载llvm库后的更改:
(1)现在输入“ g ++”时,我是否仍在实际使用gcc,还是将llvm / clang设置为模仿gcc语法的新默认值?如果是,我如何才能确保在需要时实际使用gcc而不是clang?
(2)如果g ++仍然是gcc,为什么有任何意见/猜测为什么官方的clang / llvm教程从建议使用其自己的竞争编译器切换回gcc?(例如,在这里)
我的系统:
Ubuntu 12.04。
llvm 2.9。
gcc 4.6.3。
铛3.0。
为了进行键入g++
以执行clang编译器,您可能要看一个指向g++
clang的符号链接,该链接$PATH
比您的real路径更早g++
,或者g++
沿的名称命名为别名alias g++='clang++'
。
您可以通过键入来检查别名(尽管我想这不太可能)alias g++
,它会告诉您是否设置了别名(如果可以的话,该怎么办)
为了$PATH
解决问题(如果发生),您必须删除符号链接(似乎很明智,如果需要的话clang
,可以键入clang++
而不是g++
)或更改符号链接在PATH
变量中的位置,但是因为它们很可能存在于其中/usr/local/bin
或类似的东西,所以也不太可能出现符号链接!
鉴于此,可能g++
仍会调用gcc g++
编译器,有人在键入教程时有点粗心-g++
在您链接的页面的底部附近,我只会看到一个提及?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句