首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我得到错误的C1033:无法在VS 2010中打开程序数据库

为什么我得到错误的C1033:无法在VS 2010中打开程序数据库
EN

Stack Overflow用户
提问于 2013-12-02 23:50:36
回答 10查看 23.6K关注 0票数 7

在离开C++很长一段时间之后,我正试图用VS2010编译一个非常简单的C++项目。我创建了一个Win32 C++控制台空项目,我选择了没有预编译的标题和其他MS库。我添加了以下main.cpp文件:

代码语言:javascript
运行
复制
#include <iostream>
#include <string>

using namespace std;

class A
{
public:
  string name;
};

int main(int argc, char** argv)
{
  return 0;
}

当我编译时,我得到了一个臭名昭著的错误:

代码语言:javascript
运行
复制
1>------ Build started: Project: TestGetline, Configuration: Debug Win32 ------
1>  main.cpp
1>main.cpp : fatal error C1033: cannot open program database ''
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

以下是一些事实:

  • 我使用桌面并行程序运行Windows 7 64位虚拟机:版本6.1.7601 Service 1 Build 7601。VM检查了共享配置文件,这意味着在OSX和Windows 7之间共享文档、下载等文件夹。
  • VS 2010版本: 2010,版本10.0.40219.1 SP1Rel,微软.NET框架版本4.0.30319 SP1Rel
  • 我用来启动VS 2010的链接已经在Windows (Service 3)兼容模式下运行此程序。不检查以管理员身份运行此程序。
  • 我尝试了其他帖子中的一些建议,但都没有奏效。例如,我试图杀死mspdbsrv.exe (VS 2010已关闭),手动删除调试目录,然后重新编译项目。我试图将调试信息格式更改为与C7兼容的格式,但随后得到了另一个错误(main.cpp :致命错误C1074:'IDB‘是PDB文件的非法扩展名:)。我试着以管理员的身份运行VS 2010,但是错误就像臭虫一样顽固。是的,在尝试这一切的时候有杀毒软件在运行。

还有其他想法吗?人们不禁要问,在VS 2010中是否有人在做C++开发。目前,升级到VS 2012或2013并不是一种选择。

谢谢

只是一个更新,下面是编译日志文件中失败的构建任务的输出:

代码语言:javascript
运行
复制
 1>Target "ClCompile" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets" from project "C:\projects\cpp\TestGetLine\TestGetline\TestGetline.vcxproj" (target "_ClCompile" depends on it):
   Using "Delete" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
   Task "Delete"
   Done executing task "Delete".
   Task "CL" skipped, due to false condition; ('%(ClCompile.PrecompiledHeader)' == 'Create' and '%(ClCompile.ExcludedFromBuild)'!='true') was evaluated as ('' == 'Create' and ''!='true').
   Using "CL" task from assembly "Microsoft.Build.CppTasks.Win32, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
   Task "CL"
     Forcing recompile of all source files due to missing PDB "Debug\vc100.pdb".
     Environment Variables passed to tool:
       VS_UNICODE_OUTPUT=1328
     c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt main.cpp
     Tracking command:
     C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\Tracker.exe /d C:\Windows\Microsoft.NET\Framework\v4.0.30319\FileTracker.dll /i C:\projects\cpp\TestGetLine\TestGetline\Debug /r C:\PROJECTS\CPP\TESTGETLINE\TESTGETLINE\MAIN.CPP /b MSBuildConsole_CancelEvent7f4b09d9e64d472facf5c417755b2cdd  /c "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe"  /c /Zi /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt main.cpp
     main.cpp
 1>main.cpp : fatal error C1033: cannot open program database ''
     The command exited with code 2.
   Done executing task "CL" -- FAILED.
 1>Done building target "ClCompile" in project "TestGetline.vcxproj" -- FAILED.
 1>Done Building Project "C:\projects\cpp\TestGetLine\TestGetline\TestGetline.vcxproj" (build target(s)) -- FAILED.
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2013-12-05 02:04:06

我取消了“在兼容模式下运行此程序用于Windows (Service 3)”复选框,它现在开始工作了。最初我玩的是其他选项,但不是这个!

票数 3
EN

Stack Overflow用户

发布于 2014-09-30 20:56:43

为了解决这个问题,我删除了pdb文件(在我备份它之后),然后构建它。

票数 14
EN

Stack Overflow用户

发布于 2014-03-19 02:37:53

当我在dropbox文件夹中运行一个项目时,我总是会遇到这个错误。在我试图构建的时候,dropbox似乎正在备份.pdb文件。

通常情况下,它会在一两次尝试后起作用。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20340200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档