После долгого перерыва в C ++ я пытаюсь скомпилировать очень простой проект C ++ в VS2010. Я создал консольный проект Win32 C ++, я выбрал «Нет предварительно скомпилированных заголовков и никаких других библиотек MS». Я добавил следующий файл main.cpp:
#include #include using namespace std; class A < public: string name; >; int main(int argc, char** argv)
Когда я компилирую, я получаю печально известную ошибку:
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 ==========
Вот несколько фактов:
- Я использую 64-битную Windows 7 в качестве виртуальной машины с Desktop Parallels: версия 6.1.7601 с пакетом обновления 1 (SP1), сборка 7601. Виртуальная машина имеет проверенный общий профиль, что означает, что папки «Документы», «Загрузки» и т. Д. Являются общими для OSX. Target «ClCompile» in file «C:Program Files (x86)MSBuildMicrosoft.Cppv4.0PlatformsWin32Microsoft.Cpp.Win32.Targets» from project «C:projectscppTestGetLineTestGetlineTestGetline.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 «Debugvc100.pdb».
Как и где скачать Microsoft Access БЕСПЛАТНО
Environment Variables passed to tool: VS_UNICODE_OUTPUT=1328 c:Program Files (x86)Microsoft Visual Studio 10.0VCbinCL.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»Debugvc100.pdb» /Gd /TP /analyze- /errorReport:prompt main.cpp Tracking command: C:Program Files (x86)Microsoft SDKsWindowsv7.0AbinNETFX 4.0 ToolsTracker.exe /d C:WindowsMicrosoft.NETFrameworkv4.0.30319FileTracker.dll /i C:projectscppTestGetLineTestGetlineDebug /r C:PROJECTSCPPTESTGETLINETESTGETLINEMAIN.CPP /b MSBuildConsole_CancelEvent7f4b09d9e64d472facf5c417755b2cdd /c «c:Program Files (x86)Microsoft Visual Studio 10.0VCbinCL.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»Debugvc100.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:projectscppTestGetLineTestGetlineTestGetline.vcxproj» (build target(s)) — FAILED.
Решение
Чтобы решить эту проблему, я удалил файл pdb (после того, как создал его резервную копию), а затем собрал его.
Источник: web-answers.ru
Компиляция не выполняется случайным образом: «невозможно открыть базу данных программы»
Во время длинной компиляции с Visual Studio 2005 (версия 8.0.50727.762) иногда я получаю следующую ошибку в нескольких файлах в каком-то проекте:
fatal error C1033: cannot open program database ‘v:tempapprtctestwin32releasevc80.pdb’
(Файл указан как vc80.pdb или vc80.idb в файле temp dir.)
Следующая сборка того же проекта завершается успешно. Нет другой открытой Visual Studio, которая может обращаться к тем же файлам.
Это серьезная проблема, потому что она делает невозможным компиляцию в ночное время.
ОТВЕТЫ
Ответ 1
Возможно, что антивирус или аналогичная программа касается файла pdb при записи — в этом случае наиболее вероятным может быть антивирус. Боюсь, что я могу дать вам общие рекомендации, основанные на моем прошлом опыте в создании ночных сборок в нашем магазине. Некоторые из них могут показаться тривиальными, но я включаю их ради завершения.
- Прежде всего, убедитесь, что вы запустили чистый лист. То есть, принудительно удалите выходной каталог сборки до того, как вы начнете свой ночной.
- Если у вас есть антивирус, антишпион или другие подобные программы на вашей ночной машине, подумайте об их устранении. Если это не вариант, добавьте свою папку obj в список исключений программы.
- (необязательно). Используйте инструменты, такие как VCBuild или MSBuild, как часть вашей ночи. Я думаю, что лучше использовать MSBuild, если вы работаете на многоядерной машине. Мы используем IncrediBuild для ночных и MSBuild для релизов и никогда не сталкивались с проблемой, которую вы описываете.
Если ничего не работает, вы можете запланировать сторожевой таймер script через несколько часов после начала сборки и проверить его статус; если сборка не выполняется, сторожевой таймер должен перезапустить ее. Это уродливый взлом, но это лучше, чем ничего.
Ответ 2
Cpp: -1: ошибка: C1041: невозможно открыть базу данных программы; Untitled-сборка-настольные отладкиvc120.pdb»
Все ответы, доступные для этой проблемы, — это решения для Visual studio. Я столкнулся с этой проблемой в QT. Я запускаю пример образца, но эта ошибка появляется. Может ли кто-нибудь помочь.
ошибка: C1041: невозможно открыть базу данных программы ‘c:usersnewfolderuntitled-build-desktop-debugvc120.pdb’; если несколько CL.EXE записывают в тот же файл .PDB, используйте/FSспросил(а) 2014-10-30T13:48:00+03:00 8 лет, 7 месяцев назад
добавить комментарий
пожаловаться(Этот ответ может или не может применяться только к тем, кто построил QT из источника.)
Убедитесь, что вы создаете ту же версию Visual Studio, что и ваш дистрибутив QT. Я получил эту ошибку, когда использовал комплект сборки (Options → Build and Run → Kits), который был настроен для использования MSVC 2013 (12.0), но версия QT была msvc2010_opengl . По-видимому, несоответствие привело к неправильной конфигурации сборки. Модификация набора сборки для использования VS 2010 устранила проблему.ответил(а) 2016-10-18T22:44:00+03:00 6 лет, 8 месяцев назад
добавить комментарий
пожаловатьсящелкните правой кнопкой мыши project- > properties- > c/С++ → выходные файлы:
в имени файла базы данных программы: укажите название проекта с помощью пути. (. /../../../выпуск/ProjectName/) Этот подход работает для меня.ответил(а) 2015-11-25T22:47:00+03:00 7 лет, 7 месяцев назад
добавить комментарий
пожаловатьсяЕще в рубрике
Неопределенная ссылка на функцию статического шаблона
Как я могу программно передать данные из QTableWidget, которые содержат некоторые элементы в состоянии редактирования?
Может ли textInteractionFlags быть установленным во всех QLabels глобально?
Как получить размер отображаемого текста на QPainter?Другие вопросы
Qt можно перетащить из виджета в Qwebkit?
Многоцветная всплывающая подсказка в Qt
QNetworkAccessManager надежное соединение в QT- Вопросы
- Qt
- Cpp: -1: ошибка: C1041: невозможно открыть базу данных программы; Untitled-сборка-настольные отладкиvc120.pdb»
Источник: progi.pro