编译方法一:
1、建立win32静态库类型工程;
2、删除stdafx.h和stdafx.cpp文件;
3、在工程设置的C++选项的预编译头文件中取消使用预编译文件,即更改为不使用预编译头文件stdafx.h;
4、在工程设置的预声明常量中加入DETOURS_X86,即设置为x86平台下编译;
5、加入除detoursd.和detoursd.cpp外的所有文件;
6、删除detours.cpp中的对detoursd.h的引用:include "detoursd.h";
7、删除detours.cpp中对detoursd.h中的函数Detoured()的引用;
8、进行编译。
使用方法:
1、将编译生成的detours.lib文件复制到detours/lib下;
2、将detours/samples/下的common.mak文件中的有关detoursd.lib的引用删除;
3、进行编译项目后的dll文件会比原先以动态链接库方式编译detours后的文件大许多,因为它加入了detours.lib中的引用代码,不过它再也不需要附带detoursd.dll和detours.dll文件了。
编译方法二:
1. 下载Detours
在http://research.microsoft.com/sn/detours 可免费下载Detours。
2. 生成Detours库
在安装后的文件夹下找不到直接可以拿来用的LIB文件,但是却有SRC文件(在**/Microsoft Research/Detours Express 2.1/src下)。该文件夹下还有Makefile,可以直接用来生成库。
具体生成库的做法是:
1).将Detours路径下的SCR文件夹拷贝到**/Microsoft Visual Studio/VC98路径下,注意是整个文件夹
2).运行**/Microsoft Visual Studio/VC98/Bin下VCVARS32.BAT文件.
在开始->运行里面输入CMD命令,在出来的命令行窗口里,将路径换至**/Microsoft Visual Studio/VC98/Bin,再将VCVARS32.BAT文件拖进命令行窗口里就行
3).运行NMAKE命令
在命令行窗口里将路径换到**/Microsoft Visual Studio/VC98/SRC,然后输入../bin/nmake指令,回车
4).待此命令运行完后,在**/Microsoft Visual Studio/VC98/Lib文件下就能找到detoured.lib与detours.lib文件.