1.编译
windows环境命令行编译很少用,detours需要使用命令行编译,刚好试试,过程如下:
1.为了能够在所有目录中使用nmake命令,需要设置环境变量Path D:\Program Files\Microsoft Visual Studio 9.0\VC\bin
2.运行这个文件:D:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat,将其拖到命令行界面中回车即可,这个批处理用来设置一些变量,主要是vc编译用到的库
3.进入detours目录D:\detours\Detours3.0,nmake回车即可
4.编译samples出错,只需要把
samples\common.mak中的
.rc{$(OBJD)}.res:
rc /nologo /DDETOURS_BITS=$(DETOURS_BITS) /fo$(@) /i$(INCD) $(*B).rc
2. nmake学习
Detours3.0\Makefile
# 井开头是注释
# 定义ROOT为当前文件夹
ROOT = .
#生成文件预处理指令,表示将Detours3.0\system.mak包含进来,
#""括起来表示不在系统目录中查找,<>括起来则表示可能到INCLUDE环境变量指示的路径中查找
!include "$(ROOT)\system.mak"
#伪目标,标记为当前时间,即总是最新的
all:
# MAKEDIR为递归调用nmake所用的一个宏,表示调用nmake时的当前目录
cd "$(MAKEDIR)\src"
# MAKE为递归调用nmake所用的一个宏,表示nmake的完整路径
#/NOLOGO 表示不显示nmake版本信息
#MAKEFLAGS 当前有效的选项,不包含/F
# /F filename 制定makefile名字,默认为makefile
@$(MAKE) /NOLOGO /$(MAKEFLAGS)c