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
WIN7下VS2008生成Detours3.0的更多相关文章
- 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)
编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功) ------by wangsh 2012.02.22 Mapnik 是一个开源的 Python/C++ 地图渲染引 ...
- Win7下VS2008编译QtiPlot
Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...
- win7 下vs2008试用版破解
用过微软的开发套件Visual Studio 2008,如果用的是试用版本,超过90天,就会过期,出现下面这张图片显示的 下面介绍破解的步骤: 1.首先打开控制面板——然后找到卸载或更改程序——然后找 ...
- Win7下VS2008安装cocos2d-2.0-x-2.0.4模板时, 运行InstallWizardForVS2008.js文件执行失败的解决办法
今天在Win7环境下的VS2008中安装cocos2d-x模板的过程中,当点击InstallWizardForVS2008.js时,弹出" 没有文件扩展'.js'的脚本引擎&q ...
- Win7下VS2008破解方法
在Win7系统下,无法像xp下通过“控制面板”卸载的方法重新输入序列号来破解VS2008. 但可以通过以下几个步骤来破解: 1.首先需要安装VS2008,可以安装VS2008专业版90天试用版或VS2 ...
- 解决Win7下一个VC++6.0您不能直接打开多个project问题
于Win7操作系统,只需双击打开多个VC ++6.0的project当文件,前方和后方的工作区将关闭工作区,这项.VC++6.0仅仅通过文件-->开放式工作区-->找到磁盘project档 ...
- win7下VS2015+opencv3.1.0配置
由于opencv与vs的适配版本不同,本人在官网下载opencv3.1.0,其可以和VS2013.VS2015适配,文中以VS2015为例 opencv2.4.13-----vc11;vc12 ope ...
- VS2008试用版到期解决办法----win7下VS2008升级补丁.zip
打开好久没用的Visual studio 2008,才知道试用版已经到期了.在网上找来了序列号,可是连一个输入序列号的地方都没有,困惑了好久,终于找到了解决办法. 首先献上自己收集的Visual st ...
- win7下vs2008编译出现C1859错误的处理办法
昨天,电脑上安装的vs2008 sp1版本编译工程时候出了这样的错了:fatal error C1859: 'Debug\**.pch'.清理并重新编译会临时解决问题,但问题仍然会频发.后面上网找资料 ...
随机推荐
- caffe的python接口学习(5):生成deploy文件
如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也.deploy文件没有第一层数据输入层, ...
- JavaScript 特殊对象 Array-Like Objects 详解
这篇文章拖了有两周,今天来跟大家聊聊 JavaScript 中一类特殊的对象 -> Array-Like Objects. (本文节选自 underscore 源码解读系列文章,完整版请关注 h ...
- 你可能不知道的 NaN 以及 underscore 1.8.3 _.isNaN 的一个 BUG
这篇文章并不在我的 underscore 源码解读计划中,直到 @pod4g 同学回复了我的 issue(详见 https://github.com/hanzichi/underscore-analy ...
- add添加
s = {1,2,3,4,5,6,} 进行添加数据! s = {1,2,3,4,5,6,} s.add('s')#添加字符串's' s.add('3')#添加字符串'3' s.add(3)#添加3和字 ...
- Synchronized
1. 在编写一个类时,如果该类中的代码可能运行与多线程环境下,就要考虑同步问题了. 会同时被多个线程访问的资源,就是竞争资源,也称为竞争条件.对于多线程共享的资源我们必须进行同步,以避免一个线程的改动 ...
- Mysql如何创建短索引(前缀索引)
Mysql如何创建短索引 为什么要用短索引 有时需要索引很长的字符列,它会使索引变大并且变慢.一个策略就是模拟哈希索引.但是有时这也不够好,那么应该怎么办呢?通常可以索引开始的几个字符,而不是全部值, ...
- Linux 远程复制文件
Linux 远程复制文件 如果想把机器A上面的dir目录下面的所有文件复制到机器B的dir目录下,我们可以使用nc命令来完成 在机器A的dir目录下面执行: tar -czf - * | nc -l ...
- 简单实用的Log4net帮助类
一直使用Log4net,进行日志记录.今天把实用的帮助类,在博客园进行一下公布 首先,添加一个log4net配置文件 <?xml version="1.0"?> < ...
- JS Select 月日日期联动
Js对Select控件进行联动操作,一个select选择月份后另一个select生成对应月份的所有日期. <%@ Page Language="C#" AutoEventWi ...
- Linux下因为系统编码问题造成乱码的解决办法
2016年12月13日18:34:32 -------------------------------- 最近一段时间遇到一些润乾报表的应用在linux系统下面乱码的问题,最后检查后都发现是客户的li ...