预编译问题

我在“完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错 ”这片文章里看到以下解决方法;
但是下面说的 然后将预编译命令行设为Unlocker.exe "$(TargetDir)$(ProjectName).pdb" /S
这个命令怎么设置啊?

64位解决方案(其实也可以用于32位):
由于handle.exe不支持64位系统,hankcs决定采用大名鼎鼎的unlocker来代替它。方法和32位版本的方法差不多,不同的是,先去http://www.emptyloop.com/unlocker/ 下载一个绿色版的unlocker(同时支持32&64,也就是说,我这个所谓的“64位解决方案”其实也适用于32位的,前面的32位方案是被那个网友蒙住了,早知道有unlocker这种神器就不用那劳什子的handler了)。解压到\Microsoft Visual Studio .NET 2003\Vc7\bin里,然后将预编译命令行设为
Unlocker.exe "$(TargetDir)$(ProjectName).pdb" /S
就万事大吉了,如果你喜欢折腾,可以继续修改模板default.js,原理同上。
接下来随便怎么编译,故意让程序卡死,都不会出现 fatal error LNK1201错误了。
是不是很神奇?
我知道如果不把懒人补丁包放在最后面,你一定不会看完的。
补丁解压到你的安装目录下,选择全部替换
下载地址:http://hankcs.opendrive.com/files/OV8xMTE0MjEyMV9KTFlCMF8wN2My/Vc2003.net_LNK1201_补丁_码农场_www.hankcs.com.rar
解压密码:www.hankcs.com

原帖地址 http://www.hankcs.com/program/solve-fatal-error-lnk1201-vs2003-pdb.html
...全文
191 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 12 楼 tuoerr 的回复:
[quote=引用 11 楼 u1324554087 的回复:] 恩,单纯的解锁文件,并不是好的主意 你应该看看文件到底是被谁占着 可以找个文件监视工具看下 PS:我是职业测试人员,精通各种测试,调试技巧
被vs占用呗, 看我底下那个连接说的使用locker那个工具(相当于360的解锁强制删除文件功能)。 现在我需要的是怎么把这个工具嵌入到编译器中, 就是每次编译之前,unlock一下pdb。这样就能把pdb就能访问了。 按照那个帖子上的说法。 “在预编译命令行设为Unlocker.exe "$(TargetDir)$(ProjectName).pdb" /S” 这句话就是调用unlock解锁pdb文件, 但是vs并不可以加入这个命令。[/quote] 这样解决的话,楼主你可以加在 pre_build event上 另外,我觉得这个不是根本的解决方式。 楼主有精力的话,可以跟踪下,为什么vs占着不释放
  • 打赏
  • 举报
回复
引用 11 楼 u1324554087 的回复:
恩,单纯的解锁文件,并不是好的主意 你应该看看文件到底是被谁占着 可以找个文件监视工具看下 PS:我是职业测试人员,精通各种测试,调试技巧
被vs占用呗, 看我底下那个连接说的使用locker那个工具(相当于360的解锁强制删除文件功能)。 现在我需要的是怎么把这个工具嵌入到编译器中, 就是每次编译之前,unlock一下pdb。这样就能把pdb就能访问了。 按照那个帖子上的说法。 “在预编译命令行设为Unlocker.exe "$(TargetDir)$(ProjectName).pdb" /S” 这句话就是调用unlock解锁pdb文件, 但是vs并不可以加入这个命令。
  • 打赏
  • 举报
回复
恩,单纯的解锁文件,并不是好的主意 你应该看看文件到底是被谁占着 可以找个文件监视工具看下 PS:我是职业测试人员,精通各种测试,调试技巧
  • 打赏
  • 举报
回复
引用 9 楼 m_nNightmire 的回复:
我记得以前都是关掉vs 找到.pdb直接删
嗯 确实是这样可以解决, 但是我想不要每次都关闭编译器啊。
m_nNightmire 2015-09-02
  • 打赏
  • 举报
回复
我记得以前都是关掉vs 找到.pdb直接删
zgl7903 2015-09-02
  • 打赏
  • 举报
回复
项目属性中 好像有个 预生成事件, 把命令填到那里试试看
E次奥 2015-09-01
  • 打赏
  • 举报
回复
VS发疯了,你运行完关闭的时候,进程没有关掉,再次生成的时候就会造成pdb生成失败
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:
试试在 Pre-Link Step 加这个 命令
试过了, 不好用的。 有没有什么方法在编译器安装目录下的配置文件里面,加点什么脚本执行这个命令的方法吗?
schlafenhamster 2015-09-01
  • 打赏
  • 举报
回复
试试在 Pre-Link Step 加这个 命令
jmx123456789 2015-09-01
  • 打赏
  • 举报
回复
不懂 帮顶 顺便说一句 赶紧回去 把帖子结了 在开始水
红面狼 2015-09-01
  • 打赏
  • 举报
回复
不懂 帮顶 顺便说一句 赶紧回去 把帖子结了 在开始水
  • 打赏
  • 举报
回复
就是我想在编译前 执行 Unlocker.exe "$(TargetDir)$(ProjectName).pdb 把这个pdb文件解锁了。 不知道怎么搞!

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧