Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1

 

十一年前,研究项目里用到的Detours 已经更新到版本4.0.1,支持64位HOOK,从Github上下载下来编译看一下。

GitHub下载地址:https://github.com/microsoft/Detours/releases/tag/v4.0.1

将下载好的源码解压到文件夹。

1.以管理员方式启动cmd;

2.在Visual Studio 2019的安装文件夹下搜索vcvarsall.bat;

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_github

我的电脑里是在D:\Software\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\下。

3.在cmd中将当前目录切换到Detours解压后的文件夹;

4.在cmd中运行批处理文件vcvarsall.bat

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_windows开发_02

5.在cmd中运行nmake all编译程序;

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_windows开发_03


6.在编译过程中遇到错误:

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_Visual_04

 

提示traceapi中_win32.cpp内的GetThreadLocale标识符未声明,打开该文件将4322、4323行注释;

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_github_05


将该文件的21340-21353行注释;

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_编译过程_06


将34544行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_Visual_07


将36221行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_windows开发_08


继续编译,发现SetThreadLocale未声明,继续将7049-7050行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_Visual_09


将29384-29397行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_Visual_10


将35086行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_Visual_11


将36767行注释

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_windows开发_12


继续编译,完成。

Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1_编译过程_13