在我对 VS2003 中的任何项目进行每次调试运行后,我不断收到此错误消息。 我浏览了很多论坛,他们都提供了与实际问题不符的答案。
LINK : fatal error LNK1201: error writing to program database 'd:\Coding\Flyff\Projects\GUI System 20110721\Debug\GUI System 20110721.pdb'; check for insufficient disk space, invalid path, or insufficient privilege
我正在使用 Windows 7 Ultimate x64 和 Visual Studio 2003 .NET(服务包 VS7.1sp1-KB918007-X86.exe)。
我已经尝试过的:
- 在多个其他操作系统和服务包的兼容模式下运行。
- 将项目文件夹的写入权限设置为完整。
- 以管理员身份运行 Visual Studio。
- 将调试信息格式编辑为其他几种格式。
要重现此错误,您必须拥有 Windows 7 x64(可能是 Ultimate)。 Visual Studio 2003(带有 VS7.1sp1-KB918007-X86.exe 更新)。
我有超过 150 GB 的空间,因此与此无关。
Visual Studio 简单地在调试时锁定 PDB 文件,调试后无法解锁。
您还必须运行一段运行几秒钟的代码,例如:
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
Sleep( 5000 );
MessageBox( NULL, "Test", "", 0 );
return 0;
}
希望有人有解决方案,因为我目前需要使用此环境配置。
干杯,尼科。
最佳答案
我终于找到了这个困扰我一段时间的问题的解决方案:
1) 下载并安装 LockHunter(解锁锁定文件的免费实用程序):
http://lockhunter.com/download.htm
2) 将 LockHunter 的安装目录添加到您的环境变量“路径”中,以避免每次运行该实用程序时烦人的管理员权限弹出窗口。对我来说(使用 x64 版本)是:
"C:\Program Files\LockHunter"
3) 将以下预构建事件添加到遇到问题的 Visual Studio 项目中:
"LockHunter.exe /silent /unlock $(TargetDir)$(TargetName).pdb"
关于c++ - LNK1201 在 Visual C++ 2003 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775557/