ubuntu14.04安装llvm/clang 9.0预编译版本

本文详细介绍了在Ubuntu14.04系统上安装LLVM/Clang9.0预编译版本的步骤,包括下载、配置环境变量、设置默认编译器等。同时,提供了ClangBuildAnalyzer和include-what-you-use工具的安装流程,帮助开发者提升代码质量和编译效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 ubuntu14.04安装llvm/clang 9.0预编译版本

下载llvm/clang prebuild:
https://releases.llvm.org/download.html#9.0.0
https://download.youkuaiyun.com/download/wwchao2012/12391517

xz -d clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
tar cvf clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-14.04.tar

mv clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-14.04 llvm
sudo mv llvm /usr/local/llvm

vi /etc/profile

export LLVM_HOME=/usr/local/llvm/bin
export PATH=$LLVM_HOME:$PATH:/usr/local/llvm/lib:/usr/local/llvm/include

source /etc/profile

设置clang为默认编译器

SET (CMAKE_C_COMPILER             "/usr/local/llvm/bin/clang")
SET (CMAKE_CXX_COMPILER           "/usr/local/llvm/bin/clang++")
export CPLUS_INCLUDE_PATH=/usr/local/llvm/include
export LD_LIBRARY_PATH=/usr/local/llvm/lib
export CXXFLAGS=-stdlib=libc++

2 ClangBuildAnalyzer编译安装

下载ClangBuildAnalyzer:https://github.com/aras-p/ClangBuildAnalyzer

unzip ClangBuildAnalyzer-master.zip
cd ClangBuildAnalyzer-master/
mkdir build && cd build
export CC=/usr/local/llvm/bin/clang
export CXX=/usr/local/llvm/bin/clang++
cmake_minimum_required(VERSION 3.5.1)
project(ClangBuildAnalyzer)

# 新增
SET (CMAKE_C_COMPILER             "/usr/local/llvm/bin/clang") # 新增
SET (CMAKE_CXX_COMPILER           "/usr/local/llvm/bin/clang++") # 新增
make -j8
mv ClangBuildAnalyzer /usr/bin/

3 include-what-you-use

下载include-what-you-use-clang_9.0:https://github.com/include-what-you-use/include-what-you-use

mkdir iwyu
cd iwyu

unzip include-what-you-use-clang_9.0.zip
cd include-what-you-use-clang_9.0/
mv ./include-what-you-use-clang_9.0 ./include-what-you-use/
cd ../

修改include-what-you-use/CMakeLists.txt

cmake_minimum_required(VERSION 3.4.3)

# 新增
SET (CMAKE_C_COMPILER             "/usr/local/llvm/bin/clang") # 新增
SET (CMAKE_CXX_COMPILER           "/usr/local/llvm/bin/clang++") # 新增

if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
  message(STATUS "IWYU: out-of-tree configuration")
  set(IWYU_IN_TREE OFF)
else()
  message(STATUS "IWYU: in-tree configuration")
  set(IWYU_IN_TREE ON)
endif()

...

# 修改
# Synthesize a clang-resource-headers target for out-of-tree builds (in-tree
# already has it available by default)
if (NOT IWYU_IN_TREE)
  # Use only major.minor.patch for the resource directory structure; some
  # platforms include suffix in LLVM_VERSION.
  set(llvm_ver ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH})
  set(clang_headers_src ${CMAKE_PREFIX_PATH}/include) #修改路径
  set(clang_headers_dst ${CMAKE_BINARY_DIR}/include) #修改路径

  file(GLOB_RECURSE in_files RELATIVE ${clang_headers_src} ${clang_headers_src}/*)
...
mkdir build && cd build
cmake -G "Unix Makefiles" -DCMAKE_PREFIX_PATH=/usr/local/llvm/ ../include-what-you-use
make -j8
mv include-what-you-use /usr/bin/

4 参考链接

  1. ubuntu下cmake 使用clang
  2. clang问题记:libc++和libstdc++
  3. clang 找不到标准库头文件错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值