不知为什么,每次尝试去编译开源项目都要踩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 https://github.com/DynamoRIO/dynamorio.git
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属性页;
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-8-13 19:55
被TechForBad编辑
,原因: