linux下clang+llvm3.3安装(ubuntu)
来源:互联网 发布:宁波php招聘 编辑:程序博客网 时间:2024/05/18 00:01
最近要用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
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;}
- linux下clang+llvm3.3安装(ubuntu)
- CentOS 6 编译安装LLVM3.3,Clang和Libc++
- ubuntu12.04 编译安装LLVM3.3,Clang和Libc++
- CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
- ubuntu/fedora下clang 安装
- Debian/Ubuntu Linux 下安装LLVM/Clang 编译器
- Ubuntu下安装clang和libc++
- visual studio 2013下安装llvm3.7
- 在llvm3.3上安装poolalloc
- 在CentOS 6.6 64bit上编译安装LLVM3.7,Clang,Libc++和libc++abi
- 如何使用ninja快速编译LLVM和Clang(以llvm3.3为例子)
- Ubuntu下Clang和LLVM的编译安装
- 在 Linux下使用 clang3.0+llvm3.0+libc++
- Ubuntu 13.04 安装使用clang
- Ubuntu 12.04 安装clang 3.3
- Ubuntu编译安装llvm-clang
- ubuntu安装LLVM和clang
- Ubuntu编译安装llvm+clang
- [Linux]C语言遍历文件和目录
- MachineLearning(Andrew)Week1
- codeforce 400 C
- 二周 项目3 文件+结构体实现使用功能
- 静态数据成员
- linux下clang+llvm3.3安装(ubuntu)
- 对话框包含视类头文件出错
- java中多线程的实现方式有两种
- Logistic Function == Sigmoid Function
- 机构题成绩处理
- 动作栏——ActionBar(一)
- office2007新建 Microsoft Office Word 文档.docx,打开后弹出转换文件对话框的解决办法
- javascript匿名函数
- 百度 腾讯 等名企多线程面试题目