clang

1、安装 clang

  可以从官网下载,如果是CentOS 6 系统,也可以在 /etc/yum.repos.d/ 目录下增加一个 epel.repo 文件,内容如下:

[epel]
name=Extra Packages for Enterprise Linux - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [epel-debuginfo]
name=Extra Packages for Enterprise Linux - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck= [epel-source]
name=Extra Packages for Enterprise Linux - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=

  然后执行 yum update ,再 yum install clang 就好了。

2、安装 libc++

  正如 gcc 编译 c++ 使用自己的实现的标准库一样,clang 也有自己实现的 c++ 库,称为 libc++,下载源代码进行编译:

svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
cd libcxx/lib
./buildit 

  把 lib 目录下生成的 libc++.so.1.0 拷贝到 /usr/lib,加上两个符号链接:

cp libc++.so.1.0 /usr/lib
cd /usr/lib
ln -sf libc++.so libc++.so.1.0
ln -sf libc++.so. libc++.so.1.0

  因为 clang 默认去 /usr/include/c++/v1 目录搜索 libc++,把 libcxx/include 这个目录下所有文件复制到 /usr/include/c++/v1 目录下:

cd libcxx
cp include /usr/include/c++/v1 -r

  这样在 /usr/include/c++/v1 就可以看到标准C++的头文件了。

3、编译 C++

clang++ --std=c++ -stdlib=libc++ test.cpp

  上面的 -stdlib=libc++ 表示使用上面安装的 clang 专属 libc++,也可以不带此参数,使用 gcc 的库。

 

上一篇:Nginx目录浏览功能


下一篇:PAT 乙级 1001.害死人不偿命的(3n+1)猜想 C++/Java