QQ登录

墨者论坛 - 墨者平台官方技术论坛_网咖热门游戏消息警告_内容共享平台_行业资源聚合中心

查看: 555|回复: 477

使用Win环境搭建OLLVM测试环境

  [复制链接]
  • TA的每日心情

    2020-10-14 02:34
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    122

    主题

    290

    帖子

    5万

    积分

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    积分
    56397

    超级管理员鼠年纪念勋章陕西维护/业主/厂商地区认证

    QQ
    发表于 2020-8-27 10:49:59 | 显示全部楼层 |阅读模式
    1.编译OLLVM准备工作Cmake安装
    Cmake下载地址
    解压压缩包之后添加到环境变量Path中,在控制台输入cmake
    λ cmake
    Usage

    cmake [options] <path-to-source>
    cmake [options] <path-to-existing-build>
    cmake [options] -S <path-to-source> -B <path-to-build>

    Specify a source directory to (re-)generate a build system for it in the
    current working directory.  Specify an existing build directory to
    re-generate its build system.

    Run 'cmake --help' for more information.
    得到以上输出即为配置成功
    MingW32配置安装
    MingW32下载地址
    解压缩下载的压缩包,将bin目录添加到压缩包中
    在控制台输入
    mingw32-make -v
    得到以下输出
    GNU Make 4.2.1
    Built for x86_64-w64-mingw32
    Copyright (C) 1988-2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    2.编译OLLVM
    在ollvm源码目录创建build文件夹
    在build目录下执行
    cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE:String=Release ../

    mingw32-make -j8       //多少线程编译具体看电脑配置
    编译完成后可见
    把bin目录下的clang.exe clang++.exe clang-format.exe拷贝到NDK_BASEDIR\toolchains\llvm\prebuilt\windows-x86_64\bin下
    在子项目的build.gradle中加入 以下代码
      defaultConfig {
        ....
        externalNativeBuild{
            cmake{
                cppFlags "-mllvm -sobf -mllvm -fla -mllvm -sub"
            }
        }
    }

    ....
    externalNativeBuild{
        cmake{
            path "CMakeLists.txt"
        }
    }
    编译时候添加选项开启字符串加密
    -mllvm -sobf
    开启控制流扁平化
    -mllvm -fla
    开启指令替换
    -mllvm -sub
    指定随机数生成器种子
    -mllvm -seed=0xdeadbeaf
    执行assemble打包指令,可能会有一些头文件找不到,这些头文件在ollvm编译后的lib文件夹下,复制这些文件到NDK_BASEDIR\sysroot\usr\include文件夹
    float.h

    _stddef_max_align_t.h

    stddef.h

    stdarg.h

    这几个头文件一定是找不到的


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    回复 论坛版权

    使用道具 举报

    该用户从未签到

    0

    主题

    159

    帖子

    158

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    158
    发表于 2020-8-27 16:01:58 | 显示全部楼层
    来根华子?
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    93

    帖子

    92

    积分

    初级会员

    Rank: 2

    积分
    92
    发表于 2020-8-27 19:52:29 | 显示全部楼层
    来看看。
    回复

    使用道具 举报

  • TA的每日心情

    2020-9-11 00:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初入墨者

    0

    主题

    144

    帖子

    154

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    154
    发表于 2020-8-27 21:38:24 | 显示全部楼层
    来看看。
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    138

    帖子

    137

    积分

    等待验证会员

    积分
    137
    发表于 2020-8-28 10:41:22 | 显示全部楼层
    没事儿我溜达~!
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    112

    帖子

    111

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    111
    发表于 2020-8-28 10:43:14 | 显示全部楼层
    不错。
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    102

    帖子

    101

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    101
    发表于 2020-8-28 10:43:17 | 显示全部楼层
    1111111
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    140

    帖子

    139

    积分

    等待验证会员

    积分
    139
    发表于 2020-8-28 11:15:26 | 显示全部楼层
    来看看。
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    150

    帖子

    149

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    149
    发表于 2020-8-28 11:55:54 | 显示全部楼层
    溜达溜达~!
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    124

    帖子

    123

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    123
    发表于 2020-8-28 16:16:48 | 显示全部楼层
    我吃柠檬。
    回复

    使用道具 举报

    游客
    回复
    您需要登录后才可以回帖 登录 | 注册

    本站2020-07-20至今已运行98天。欢迎光临!
    顶部qrcode底部
    关注墨者平台微信公众号获取最新资讯内容!

    互联网举报中心|论坛地图| 墨者论坛 ( 陕ICP备19011825号 ) |友链申请

    GMT+8, 2020-10-26 06:19

    程序提供:Discuz!

    2020 © 墨者论坛

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