• 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.0VC路径下,注意是整个文件夹(其它版本VC自己照着复制)。当然不复制也行,复制主要是为了便于后边的操作。
            命令行输入,切换至 **Microsoft Visual Studio 9.0VCin目录运行vcvars32.bat
            切换到**Microsoft Visual Studio 9.0VCDetours Express 3.0,然后输入..in make指令,编译成功后在Detours Express 3.0lib.X86文件下就能找到detours.lib文件了。

    四.常见错误

       错误1:

    rc /nologo /DDETOURS_BITS=32 /foobj.X86simple.res /i....include simple.rcfatal error RC1106: invalid option: -ologo
    NMAKE : fatal error U1077: “"C:Program FilesMicrosoft SDKsWindowsv6.0Ain
    c.EXE"”: 返回代码“0x1”
    Stop.
    NMAKE : fatal error U1077: “"D:Program FilesMicrosoft Visual Studio 9.0VCBIN
    make.exe"”: 返回代码“0x2”
    Stop.
    NMAKE : fatal error U1077: “"D:Program FilesMicrosoft Visual Studio 9.0VCBIN
    make.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安装路径VCBin,以及vs安装路径Common7IDE

  • 相关阅读:
    SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
    Web Api 跨域解决方案
    Web Api Session开启会话支持
    Web Service 学习
    省市选择器
    如何创建圆形头像和圆角图片
    E
    二叉树
    素数筛法
    Color Me Less
  • 原文地址:https://www.cnblogs.com/guolixiucai/p/5069420.html
Copyright © 2020-2023  润新知