如何将 clang++ 设置为 C++ 编译器?

Jep*_*hir 5 fedora c++ alternatives

我正在尝试将 clang++ 设置为 Fedora 18 上的系统 C++ 编译器。我已经安装了 clang 并将其添加到其中,alternatives但它似乎不起作用。

[user@localhost ~]$ alternatives --display c++
c++ - status is auto.
 link currently points to /usr/bin/clang++
/usr/bin/clang++ - priority 1
Current `best' version is /usr/bin/clang++.
[user@localhost ~]$ c++ --version
c++ (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

c++尽管alternatives配置为使用 clang++,但似乎仍在使用 gcc 。


type -a c++ 输出:

[user@localhost ~]$ type -a c++
c++ is /usr/bin/c++
c++ is /bin/c++
Run Code Online (Sandbox Code Playgroud)

mat*_*tdm 14

我认为这里的替代方法是错误的方法。更一般地说,我认为更改系统默认值确实是错误的方法。与其在那个层面改变事情,我建议

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
Run Code Online (Sandbox Code Playgroud)

除非有什么办法破坏它,否则这将适用于几乎所有的 make 系统。

如果您希望这是系统范围内的默认设置,您可以将其放在 .bash 文件中的系统 bash 启动脚本中/etc/。但是,再一次,我认为这通常不是一个好主意。最好在每个用户或每个项目的基础上做出选择。