Chinaunix首页 | 论坛 | 博客
  • 博客访问: 642315
  • 博文数量: 63
  • 博客积分: 1265
  • 博客等级: 中尉
  • 技术积分: 789
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-06 21:54
文章分类

全部博文(63)

文章存档

2017年(1)

2016年(3)

2015年(2)

2013年(5)

2012年(20)

2011年(32)

分类: Windows平台

2013-10-08 10:30:28

VS2003并不官方支持Win7,目前大家遇到的主要是两个问题:
1. 在debug的时候,*.pdb文件在会被devenv.exe给lock住,当调适过一次之后,再进行编译的时候会有lnk1201的链接错误,说对*.pdb没有写权限,只有重启VS;
2. 在进行全局搜索的时候(至少当前文件搜索没问题),整个VS2003就没有反应了,只能强行退出。
 
解决办法:
1. 这个没有简单的办法或者设置可以解决,网上已有的比较靠谱的就是用Windows Sysinternals的工具Handle()。
     首先下载Handle.exe, 然后将如下脚本保存为freepdb.bat
 
复制代码
@echo off cd /d "%~dp0" for /f "tokens=2-3 skip=5 delims=:" %%a in ('handle -p devenv.exe "%1.pdb"') do ( for /f "tokens=1,4" %%c in ("%%a %%b") do (
     handle -p %%c -c %%d -y >NUL
   )
) exit /b 0
复制代码

 

 
     将freepdb.bat文件和handle.exe放在同一个目录,在VS2003中,右键Project->Properties->Build Events->Pre-build Event, 在Command Line中输入如下指令:
"" $(ProjectName)
     比如我的freepdb.bat 和handle.exe都放在D:\下,那么就是 "D:\freepdb.bat" $(ProjectName), 建议路径带着双引号,以防有空格。
 
  由于handle.exe需要管理员权限来运行,所以最好是将devenv.exe设置为"Run this program as an administrator"。网上还有说设置XP兼容模式的方法,本人未确认。
 
2. 据说是由于与Win7 的Aero用户界面冲突引起的。我是通过两步解决的,不知道是不是任意一步就可以。
     右键devenv.exe, Properties->Compatibility, 勾上Disable visual themes, 确定;
     桌面右键,Personalize, 将主题选择为Windows 7 Basic.
 
Hope it helps.
That's all.
 
References:
阅读(6523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~