c++ - LNK1201 在 Visual C++ 2003 上

标签 c++ visual-studio linker-errors

在我对 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/

相关文章:

c# - Visual Studio/C# 中最常被滥用的功能是什么?

c++ - 在另一个文件中初始化的外部数组中的 undefined reference

ios - cocoapods - 链接器命令失败,退出代码为 1

c++ - 使用 AES/GCM 加密的已编译 Crypto++ 库代码是否使用英特尔的 AES-NI 指令?

C++ 我想避免使用指针,而是使用 STL 和引用来维护小型数据缓存

c++ - 使用 new 时变量被覆盖

c# - Visual Studio 中 "Prefer 32-bit"设置的用途是什么?它实际上是如何工作的?

c++ - 用于保存对象的二维数组的变量

mysql - 在 sql 查询中使用常量

android - android 上的 Tcpdump 跟踪 - 无法加载 "libssl.so"所需的库 "/system/bin/tcpdump"