依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 54|回复: 0

LLVM编译

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12008
发表于 2024-10-24 09:43:39 | 显示全部楼层 |阅读模式
LLVM编译
最近换了个电脑,重新编译llvm10.0.1的时候遇到点小波折.
顺便把自己vs编译llvm的经验分享给大家.
前几天刚安装好系统,然后安装最新的vs2019(16.7.3),熟练的配置好llvm项目,马上vs编译,等了半个小时,一堆错误,错误信息不记得了.
当时就瞎几把以为是跟以前一样,个别变量类型,结构体变化的原因,一顿找原因,一顿改,折腾大半天,啥都没解决,最后通过谷歌才找到是vs2019(16.7.3)这个编译器版本的原因,从https://my.visualstudio.com/Downloads这里下载了16.4版本的vs2019才算解决.

LLVM编译

LLVM编译

这里介绍下自己的llvm编译思路.
首先先从vs安装开始,安装的时候我会把Python和CMake直接一起安装了.

LLVM编译

LLVM编译


LLVM编译

LLVM编译

安装完成后,手动设置下Python和CMake到系统环境变量就行了,没必要自己去单独安装着两个东西.
vs安装完成后打开vs目录,通过搜索Python.exe和CMAKE.exe,分别找到这两个文件的目录.
然后,我的电脑->属性->高级系统设置->高级->环境变量->path->编辑->添加这两个文件的目录进去->确定.

LLVM编译

LLVM编译

接下来下载llvm源码,以及配置.
https://github.com/llvm/llvm-project
直接下zip源码解压,我个人需要的只有4个目录,clang-tools-extra,clang,
lld,llvm
其他的都可以删除了.把clang,lld这两个目录,直接剪切到llvm\tools目录下,然后clang-tools-extra剪切到llvm\tools\clang\tools目录下,可以改名extra,也可以不改.

LLVM编译

LLVM编译

从llvm\tools\clang\tools\CMakeLists.txt配置文件中可以看到支持两个文件夹名称.
同理,如果你还需要其他功能或者有强烈的强迫症,可以去llvm其他目录下查看相应的CMakeLists.txt,然后把llvm目录下其他项目目录都配置下去,也是没毛病的.(多尝试,对自己没坏处).
我自己的需求,配置好clang-tools-extra,clang,
lld这三个项目到llvm就够了.然后就可以开始cmake生成vs的解决方案了.
1
2
cmake -DCMAKE_BUILD_TYPE=Release  -DLLVM_INCLUDE_TESTS=OFF -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -Thost=x64 ../
pause

llvm目录下新建一个build目录(名字随意,习惯而已),以上代码保存为bat文件

LLVM编译

LLVM编译

如果你安装了多个版本的vs编译器,可以指定编译器,bat里面增加cmake参数即可
-G "Visual Studio 16 2019"
不知道编译器版本参数的,可以 cmd 执行cmake -G /?,就可以出来各种编译器参数了.

LLVM编译

LLVM编译

然后直接双击运行bat即可.
正常情况下,没啥毛病,等个几分钟,应该就是提示configuration done的提示.
然后你就可以再build目录下看到llvm.sln解决方案了.
打开后选择release,x64,我个人会把examples目录下的所有项目都直接卸载了.反正也用不到,编译还浪费时间.

LLVM编译

LLVM编译

然后就开始编译了,最好把系统占用资源的程序都关了吧.除非你上几万的电脑,可能能狗住(我是没那个钱).CPU吃的开的话,编译就30分钟左右完事了,CPU不好的就不要用vs编译了,吃不开,连接器会直接线程崩溃,编译不了.
最后自己弄个vs的llvm编译插件,就可以用了.
至于混淆加密,谷歌百度吧,

相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-11-23 22:53

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表