linux下clang+llvm3.3安装(ubuntu)

最近要用clang api进行一些简单的查错处理(往高里说叫Runtime Verification),结果配置环境弄了好久......(linux基础知识很重要.....makefile要学好, gcc要学好, 至少编译的时候多用用-###  -v , 看看库函数到底从哪里找到的, 理解.a  .so等文件类型 , 软连接, 多用locate(注意updatedb), 不要各种版本装得乱七八糟, 路径, 改动bash...)

终于能够正常运行里的代码了 https://github.com/loarabia/Clang-tutorial 


刚开始没仔细看llvm getting started           http://llvm.org/docs/GettingStarted.html

只是照着网上不全的教程看,出了一大堆问题,官方文档虽然好但也不能照抄,否则会装10+G的内容(Debug版且没有优化,我装的时候容量耗光了,还得扩展(在VM上))


正式开始教程:


1.安装前请最好保证以下需求是满足的:

Package Version Notes
GNU Make 3.79, 3.79.1 Makefile/build processor
GCC >=4.7.0 C/C++ compiler1
python >=2.5 Automated test suite2
GNU M4 1.4 Macro processor for configuration3
GNU Autoconf 2.60 Configuration script builder3
GNU Automake 1.9.6 aclocal macro generator3
libtool 1.5.22 Shared library manager3
zlib >=1.2.3.4 Compression library4

gcc-4.8的安装可以参加llvm官网的教程,也可以参见 http://eli.thegreenplace.net/2014/01/16/building-gcc-4-8-from-source-on-ubunu-12-04/

zlib教程一搜就出来了http://myswirl.blog.163.com/blog/static/513186422007101410382259/

其它的基本都满足(ubuntu 12.04.4)(cat /etc/issue)

可以先  apt-get install build-essential  一下

查看各软件版本一般可以用  软件名-v

2.正式开始安装

要安装以下东西

llvm-3.3.src

cfe-3.3.src

clang-tools-extra-3.3.src

compiler-rt-3.3.src

libcxx-3.3.src

教程在这里:  

http://www.cnblogs.com/codemood/p/3142848.html

tips: 不过如果前面环境配置有些问题导致

../llvm-3.3.src/configure --enable-optimized --enable-targets=host-only  不能找到c preprocessor之类的问题,可以自己指定
CC=你的gcc-4.8的路径(在安装目录下的/bin/gcc) CXX=你的g++-4.8的路径 CPP=同理 ../llvm-3.3.src/configure --enable-optimized --enable-targets=host-only

3.尝试clang-tutorial

先看Readme 改动 makefile 和 compile_commands.json 

可以先不把Makefile里的sources弄少一点,编译报错后

把函数内容改成现在使用的(根据错误信息改,我记得要把sourceManager改为fileManager)

如果遇到


cannot find -lxxx  请移步这里 http://blog.sciencenet.cn/blog-676535-541444.html

以下是tutorial2的执行情况:

能够得到test.c的各个token

int 'int'
identifier 'footype'
semi ';'
int 'int'
identifier 'main'
l_paren '('
r_paren ')'
l_brace '{'
typedef 'typedef'
unsigned 'unsigned'
long 'long'
identifier 'bartype'
semi ';'
identifier 'printf'
l_paren '('
string_literal '"Hello World\n"'
r_paren ')'
semi ';'
return 'return'
numeric_constant '0'
semi ';'
r_brace '}'
eof ''

这是test.c的内容

//#include <stdio.h>
// This code is licensed under the New BSD license.
// See LICENSE.txt for more details.


int i = 4;
extern int j;
typedef int footype;


int main()
{
	typedef unsigned long bartype;
	printf("Hello World\n");
	return 0;
}
在解压 `clang+llvm-11.0.0-armv7a-linux-gnueabihf.tar.xz` 文件后,你得到了一个名为 `clang+llvm-11.0.0` 的文件夹,但里面并没有可执行文件。 这是因为 `clang+llvm-11.0.0-armv7a-linux-gnueabihf.tar.xz` 是针对 ARM 架构的编译器版本,而你的系统可能是 x86 架构(Intel/AMD)。因此,你需要下载适用于你系统架构的 Clang/LLVM 版本。 请确认你的系统架构,并下载相应的 Clang/LLVM 版本。通常,对于 x86 架构的系统,你可以下载 `clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz` 或类似的版本。 一旦你下载了适合你系统架构的 Clang/LLVM 版本,按照以下步骤进行操作: 1. 解压下载的压缩包。运行以下命令(将 `<filename>` 替换为下载的压缩包文件名): ``` tar -xf <filename> ``` 2. 进入解压后的目录。运行以下命令(将 `<directory>` 替换为解压后的目录名): ``` cd <directory> ``` 3. 检查是否存在可执行文件。运行以下命令: ``` ls bin ``` 如果存在可执行文件,那么你找到了 Clang/LLVM 的路径,可以将其添加到系统的 PATH 环境变量中。如果没有找到可执行文件,请尝试下载适合你系统架构的 Clang/LLVM 版本。 4. 将 Clang/LLVM 的路径添加到环境变量中。编辑 `~/.bashrc` 文件,并在其中添加以下行(如果你使用的是其他 shell,可能需要编辑其他文件,如 `~/.zshrc`): ``` export PATH="/path/to/clang+llvm/bin:$PATH" ``` 确保将 `/path/to/clang+llvm` 替换为你实际解压的 Clang/LLVM 文件夹的路径。 5. 保存文件并退出编辑器。然后运行以下命令来使环境变量生效: ``` source ~/.bashrc ``` 现在,你应该能够在终端中运行 `clang-format` 命令了。请重新尝试编译 LAMMPS,看看是否还会出现找不到 ClangFormat 的错误。 如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值