不知为什么,每次尝试去编译开源项目都要踩n个坑,应该还是太菜了吧......编译成功后把方法记下来,以后回顾的时候方便看
1.在windows系统上安装
cmake 3.18.0-rc2
Qt 5.13.0
vs2019
perl
git
everything
(这些软件的其他版本我没试过)
2.下载dynamorio项目源码,进入dynamorio文件夹并创建build_Win32和build_x64文件夹,打开cmake-gui
git clone bb4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6p5P5h3&6S2L8h3!0d9d9f1!0Q4x3V1k6V1P5h3&6S2L8h3!0J5K9h3!0Q4x3X3g2Y4K9i4b7`.
cd dynamorio
mkdir build_Win32
mkdir build_x64
cmake-gui
3.编译DynamoRIO为32位
(1)打开cmake-gui,设置源码目录和build目录,之后点击Configure;

(2)选择生成器和生成平台,点击Finish,就开始build了;

(3)出现了错误,根据错误信息定位到make/cpp2asm_support.cmake第243行;

具体原因是没有指定CMAKE_ASM_COMPILER;

那就用everything搜索ml.exe,随便找一个就行了;
我用的是"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x86\ml.exe"

之后填写到cmake-gui中去,点击Configure继续配置;

(4)又出错了,这次是CMakeLists.txt的第678行;

原因是没有指定CMAKE_MC_COMPILER;

同样地,用everything随便找一个mc.exe就行了;
我用的是"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\mc.exe";

之后填写到cmake-gui中去,点击Configure继续配置;

(5)又出问题了,这次是没有指定uuid.lib;

同样地,用everything随便找一个uuid.lib;
我用的是"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\Uuid.Lib";

之后填写到cmake-gui中去,点击Configure继续配置;

(6)又出问题了,这次是没有指定lib.exe;

同样地,用everything随便找一个lib.exe;
我用的是"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x86\lib.exe";

之后填写到cmake-gui中去,点击Configure继续配置;

(7)终于Configuring Done了,之后点击Generate,也就Generating Done了,可以关闭cmake-gui了

(8)进入build_Win32目录,用vs打开解决方案DynamoRIO.sln,共有120个项目;
(9)打开项目drgui的项目属性,将“警告视为错误”改为“否”;

修改“附加包含目录”,关于Qt的目录设置成msvc2017下的包含目录,点击“确定”;

添加“附加库目录”,点击“确定”;

修改“附加依赖项”,点击“确定”;

点击“确定”退出drgui属性页;
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-8-13 19:55
被TechForBad编辑
,原因: