Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual C+上的LNK1201+;2003_C++_Visual Studio_Linker Errors - Fatal编程技术网

C++ Visual C+上的LNK1201+;2003

C++ Visual C+上的LNK1201+;2003,c++,visual-studio,linker-errors,C++,Visual Studio,Linker Errors,每次在VS2003中对任何项目进行调试运行后,我都会收到此错误消息。 我浏览了很多论坛,它们都提供了一个不符合实际问题的答案 链接:致命错误LNK1201:写入程序数据库“d:\Coding\Flyff\Projects\GUI System 20110721\Debug\GUI System 20110721.pdb”时出错;检查磁盘空间是否不足、路径是否无效或权限是否不足 我正在使用Windows7UltimateX64和VisualStudio2003.NET(service pack V

每次在VS2003中对任何项目进行调试运行后,我都会收到此错误消息。 我浏览了很多论坛,它们都提供了一个不符合实际问题的答案

链接:致命错误LNK1201:写入程序数据库“d:\Coding\Flyff\Projects\GUI System 20110721\Debug\GUI System 20110721.pdb”时出错;检查磁盘空间是否不足、路径是否无效或权限是否不足

我正在使用Windows7UltimateX64和VisualStudio2003.NET(service pack VS7.1sp1-KB918007-X86.exe)

我已经尝试过的:

  • 以兼容模式运行多个其他操作系统和service Pack
  • 将项目文件夹写入权限设置为“完全”
  • 以管理员身份运行Visual Studio
  • 将调试信息格式编辑为其他几种格式
要复制此错误,您必须使用Windows7x64(可能是终极版)。 Visual Studio 2003(具有VS7.1sp1-KB918007-X86.exe更新)

我有超过150 GB的空间,所以这与此无关

Visual Studio simple在调试时锁定PDB文件,调试后无法解锁该文件

您还必须运行运行几秒钟的代码段,例如:

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,     int nCmdShow )
{
    Sleep( 5000 );
    MessageBox( NULL, "Test", "", 0 );
    return 0;
}
希望任何人都有解决方案,因为我目前需要使用此环境配置


干杯,Nicco。

我唯一一次在VS2003中遇到这个问题是当它在调试会话期间崩溃时。通常,可以通过重新启动VS来解决此问题。如果这不起作用,则必须重新启动调试器服务,在某些情况下还必须重新启动Windows

您可以尝试将以下内容添加到预生成事件的命令行中

net stop "Machine Debug Manager"
net start "Machine Debug Manager"

由于VS或调试管理器将文件锁定,我担心这个问题是由更深层次的问题引起的。您的VS安装中很有可能存在问题,或者有另一个服务或应用程序导致调试管理器和/或VS表现不好

我终于找到了解决这个困扰我很久的问题的解决方案:

1) 下载并安装LockHunter(解锁锁定文件的免费实用程序):

http://lockhunter.com/download.htm 2) 将LockHunter的安装目录添加到环境变量“path”中,以避免每次运行该实用程序时出现烦人的管理员权限弹出窗口。对我来说(使用x64版本),它是: "C:\Program Files\LockHunter" “C:\Program Files\LockHunter”

3) 将以下预生成事件添加到遇到此问题的Visual Studio项目中: "LockHunter.exe /silent /unlock $(TargetDir)$(TargetName).pdb"
“LockHunter.exe/silent/unlock$(TargetDir)$(TargetName).pdb”

我在VS2010中遇到此错误,并尝试使用论坛中建议的方法修复此错误,但这些方法对我无效。最后,我退出了VS2010并以管理员的身份重新启动,这就成功了

>P>我和WiXP SP3和VS C++ 2010 Express有相同的解决方案,我解决了MyStudio文件夹访问权限的更改,取消了“只读”,并应用到所有文件夹、子文件夹和文件。 当项目规模增大且“.pdb”文件的大小超过300MB时,就会产生错误。 我更改了项目中的调试信息属性并成功编译了它。 您只需在下面的路径中将项目中的“调试信息格式”更改为“C7兼容(/Z7)”

配置属性>>C/C++>>常规>>调试信息 格式


在Windows10上也有类似的问题。这提供了一个使用名为
FreePDB

的工具的解决方案。您是否尝试删除所有pdb文件以让VS正确重建它?是的,重新启动Visual Studio将解锁pdb。但我正在寻找一个解决方案,它不会永远锁定它,或者一个预构建命令参数来强制解锁它,任何解决方案,我都可以正常调试。需要注意的一点是……您必须是
调试用户组的一部分,尽管我怀疑您可能已经是了,因为如果您不是,调试器可能根本不会启动。我刚刚注意到您的编辑。我回到了以前的开发环境,在那里我在WindowsXP虚拟机中使用VS2003。谢谢你的帮助。
"LockHunter.exe /silent /unlock $(TargetDir)$(TargetName).pdb"