type
Post
status
Published
slug
2023/03/31/build-ollvm-yourself
summary
tags
工具
Linux
category
Linux
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM

开发环境准备

安装构建环境

  • 系统环境:arch
  • 安装构建运行环境
sudo pacman -S base-devel cmake jinja clang llvm

准备源码环境

git clone -b llvm-10.x https://github.com/heroims/obfuscator

编写构建脚本

#!/bin/sh build_llvm=`pwd`/build-llvm build_clang=`pwd`/build-clang installprefix=`pwd`/install llvm=`pwd`/obfuscator mkdir -p $build_llvm mkdir -p $installprefix cmake -G Ninja -S $llvm/llvm -B $build_llvm \ -DLLVM_INSTALL_UTILS=ON \ -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra' \ -DCLANG_INCLUDE_TESTS=ON \ -DCMAKE_INSTALL_PREFIX=$installprefix \ -DCMAKE_BUILD_TYPE=Debug ninja -C $build_llvm install

错误处理

如果编译期间出现 Compiling Cling error: ‘numeric_limits’ is not a member of ‘std’ 的问题,只需要在 llvm/utils/benchmark/src/benchmark_register.h 中添加 #include <limits> 即可。

参考资料

 
欢迎加入喵星计算机技术研究院,原创技术文章第一时间推送。
notion image
 
542. 01 矩阵linux epoll 机制