WIN7下VS2008生成Detours3.0

Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:

一.下载Detours
       在http://research.microsoft.com/sn/detours 可免费下载Detours。当前最新的是DetoursExpress30.msi。如果你的是2.1版本的,步骤基本上与此类似,只是生成后会需要用到的文件是detoured.lib与detours.lib。
二.安装Detours
        一路NEXT,记住你所安装的路径。
三.生成Detours库
        在安装后的文件夹下找不到直接可以拿来用的LIB文件,需要自己去生成库。我生成Detours.lib的环境是WIN7 vs2008。另外帮助文档也在安装路径里边,文件名是Detours.chm.
        将Detours路径下的文件夹拷贝到**\Microsoft Visual Studio 9.0\VC路径下,注意是整个文件夹(其它版本VC自己照着复制)。当然不复制也行,复制主要是为了便于后边的操作。
        命令行输入,切换至 **\Microsoft Visual Studio 9.0\VC\bin目录运行vcvars32.bat
        切换到**\Microsoft Visual Studio 9.0\VC\Detours Express 3.0,然后输入..\bin\nmake指令,编译成功后在Detours Express 3.0\lib.X86文件下就能找到detours.lib文件了。

四.常见错误

   错误1:

rc /nologo /DDETOURS_BITS=32 /foobj.X86\simple.res /i..\..\include simple.rcfatal error RC1106: invalid option: -ologo
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.EXE"”: 返回代码“0x1”
Stop.
NMAKE : fatal error U1077: “"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.

     解决办法:找到simples下的common.mak文件,用记事本打开,找到如下的代码,然后去掉 .rc{$(OBJD)}.res: 下边一行代码里的/nologo

##############################################################################
##

.SUFFIXES: .cpp .h .obj .rc .res

.cpp{$(OBJD)}.obj:
    $(CC) /nologo $(CFLAGS) /Fd$(OBJD)\vc.pdb /Fo$@ /c $(*B).cpp

.rc{$(OBJD)}.res:
    #rc /nologo /DDETOURS_BITS=$(DETOURS_BITS) /fo$(@) /i$(INCD) $(*B).rc
     rc /DDETOURS_BITS=$(DETOURS_BITS) /fo$(@) /i$(INCD) $(*B).rc
## ################################################################# End of File. 

  

    如果你的工程是从vs2005或者vs2008迁移到vs2010, 并且出现了错误: fatal RC1106: invalid option: -ologo

原因: ”The RC command in the SDK of version 6.x does not support -ologo. You need to install the SDK whose version is larger or equal than 7.x.”

所以请检查你的的vc++ directories 里用的sdk版本, 确认为7.x版本即可.

     

    错误2:NMAKE:fatal error U1077.“cl.exe” return code 0xc0000135

           产生原因:在安装visual studio的时候没有勾选注册环境变量导致的。

           解决办法:在系统环境变量中加入visual studio的安装路径:vs安装路径\VC\Bin,以及vs安装路径\Common7\IDE

posted @ 2015-12-23 11:47  国立秀才  阅读(1595)  评论(0编辑  收藏  举报
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位随意转载,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

\作者博客: http://www.cnblogs.com/guolixiucai/