VS2003與Win7的兼容性問題


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中輸入如下指令:
"<freepdb.bat path>" $(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:
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM