llvm學習(二)————llvm編譯與環境構建
IT人生(http://blog.csdn.net/robinblog/article/details/17339027)
在2011十月份的时候,有人向我推荐有关llvm的资料,主要是下面三个链接:
1. http://llvm.org/docs/GettingStarted.html
2. http://llvm.org/docs/LangRef.html
3. http://llvm.org/docs/WritingAnLLVMPass.html
最近重新拾回来有点无味杂评,不知道说什么好了,在此说一下llvm工程的构建吧,参考上面链接1。
其实链接1的Getting Started Quickly (A Summary) 已经说的很清楚了,在此算作翻译。
1.確認自己的工作目錄,在此默認目錄爲:
robin@ubuntu:~/workspace/llvm_wspace$
2.在llvm官網,默認使用svn提供最新llvm版本下載,而且目前最新爲llvm-3.4,所以在此新建llvm-.3.4目錄:
$ mkdir llvm-3.4/
3.進入目錄llvm-3.4 :
$ cd llvm-3.4/
4.開始在llvm-3.4目錄下獲取llvm源碼:
$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
5. 進入目錄llvm/tools:
$ cd llvm/tools/
6.開始在llvm/tools/目錄下獲取clang前端源碼:
$ svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
7.進入目錄llvm/projects:
$ cd ../../llvm/projects
8.開始在llvm/projects目錄下獲取Compiler-RT源碼:
$ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
9.開始在llvm/projects目錄下獲取Test Suite源碼(下载过程比较漫长,test-suite下载是可选的,也就是说,在此可以不下载):
$ svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite
10.進入目錄llvm-3.4,新建build目錄:
$ cd ../../
$ mkdir build
到此爲止,我們的robin@ubuntu:~/workspace/llvm_wspace/llvm-3.4$目錄下,含有llvm 和 build兩個目錄:
robin@ubuntu:~/workspace/llvm_wspace/llvm-3.4$ ls
build llvm
11. 好了,我們準備工作已經做完,可以開始編譯llvm的工程了。編譯llvm有congfigure和cmake兩種方法,llvm官網使用的是configure方法,本人在此選擇CMake吧。 CMake優點
进入build目录:
$ cd build/
执行如下cmake命令:(注意:llvm-3.4需要CMake 2.8.8及以上版本编译)
$ cmake -DCMAKE_INSTALL_PREFIX=_install/ ../llvm/
执行make和make install命令:
$ make && make install
llvm學習(二)————llvm編譯與環境構建的更多相关文章
- Gazebo機器人仿真學習探索筆記(五)環境模型
環境模型構建可以通過向其中添加模型實現,待之後補充,比較有趣的是建築物模型, 可以編輯多層樓層和房間,加入樓梯,窗戶和牆壁等,具體可以參考附錄,等有空再補充. 起伏地形環境構建可以參考之前內容:在Ga ...
- Gazebo機器人仿真學習探索筆記(四)模型編輯
模型編輯主要是自定義編輯物體模型構建環境,也可以將多種模型組合爲新模型等,支持外部模型導入, 需要注意的導入模型格式有相應要求,否在無法導入成功, COLLADA (dae), STereoLitho ...
- Linux网络设备驱动架構學習(二)
Linux网络设备驱动架構學習(二) 接下來會從以下幾個方面介紹網絡設備驅動的編寫流程: 1.網絡設備的註冊與註銷 2.網絡設備的初始化 3.網絡設備的打開與釋放 4.網絡數據發送流程 5.網絡數據接 ...
- Gazebo機器人仿真學習探索筆記(二)基本使用說明
在完成Gazebo7安裝後,需要熟悉Gazebo,方便之後使用. 部分源代碼可以參考:https://bitbucket.org/osrf/gazebo/src/ 如果還沒有安裝請參考之前內容完成安裝 ...
- 學習 DT device tree 以 ST 的開發板 STM32F429i-disc1 為例
目標 因為對 device tree 不是很熟悉, 所以就將 device tree, 設為學習目標. 啟動 注意, 這篇隨筆的解說都放在最下面,會標 Explanation_XX,只要搜尋 Expl ...
- Android 學習之旅!(2)
早幾天因爲學車,弄了幾天時間和精力過去,今天終於考過了(科目二,還是補考的...)嗯..不管這麼多了..今天又開始我的android 學習之旅!! 筆記: platform-tools目錄下的文件: ...
- Android 學習之旅!(1)
就這樣就過去了一年加一個學期,現在是大二第二個學期而且是下半學期了,以前都是無所事事,沒事睡睡覺,打打遊戲就過去了,但是想到家境和以後的路,我還是決心自己找點東西學習下,以後出去還能有一技之長(雖然可 ...
- MAC下反編譯安卓APK
所需工具: 1.apktool http://ibotpeaches.github.io/Apktool/ (配置說明) https://bitbucket.org/iBotPeac ...
- Markdown 學習
Markdown 格式由John Gruber 創建,是一種便於閱讀,非常簡潔直觀的純文本文件格式,可以方便地轉為html等其他格式,很適合與寫作,不需要關注排版問題 常用學習資源有: ###標題用 ...
随机推荐
- C语言基础程序设计
1 概论 程序(指令和数据的集合)在运行时,首先会被加载到内存(此时称为进程),然后由CPU通过控制器的译码从内存中读取指令,并按照指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再 ...
- 分享一个自己写的基于TP的关系模型
为了说明问题,假设现在有表test1,test1有从表test2:test1属于test3,test1和test4多对多,关联表test1_test4. 1.定义关系 class Test1Model ...
- 笔记一:Python的PyDev插件在eclipse上面安装(新的插件地址 location)
注:部分内容参考网上的,若有侵权,请作者联系我,马上进行删改 安装PyDev: 首先需要去Eclipse官网下载:http://www.eclipse.org/,Eclipse需要JDK支持,如果Ec ...
- ab基本用法
ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求.前段时间看到公司的开发人员也在 ...
- directUI
MFC界面开发中,习惯了使用控件,亦或者是自绘制控件来美化界面,但操作起来繁琐,还不太美观.DirectUI的出现,对于界面开发,给了我们一个新的选择,目前很多公司使用了该技术对其产品进行了美化,效果 ...
- android 代码混淆及问题大集锦
最近在需要对所开发的项目进行了代码混淆,在android studio中开启代码混淆其实还是挺方便的,不过因为代码混淆产生的问题非常多,特别是对于一些涉及到反射的第三方库经常因为名称的变化导致无法使用 ...
- Django 1
Django 1.10文档中文版Part1 本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正.另外对于公开文档进行翻译的版权问题不 ...
- Entity Framework 实践系列 —— 搞好关系 - 单相思(单向一对一,one-to-one)【转】
原以为躲入代码世界,就可以不用搞关系,哪知“关系无处不在”.写代码多年之后,终于明白“面向对象的关键是搞好对象之间的关系”.而Entity Framework作为ORM中的明日之星,首当其冲的使命就是 ...
- iOS NSDecimalNumber 货币计算 四舍五入
今天遇到一个问题 服务器返回货币数据 妈的 用string > floatvalue 不准确 去百度查查 妈的国人分享精神真差 真他妈的自私 一个破壁文章没几个字 还是从国外翻译过来的 全 ...
- UFLDL教程之(三)PCA and Whitening exercise
Exercise:PCA and Whitening 第0步:数据准备 UFLDL下载的文件中,包含数据集IMAGES_RAW,它是一个512*512*10的矩阵,也就是10幅512*512的图像 ( ...