Предварительно скомпилированные заголовки с решениями DLL. Не удается открыть предварительно скомпилированный файл заголовка

это работало без ошибок, когда это решение работало .lib-файлы вместо .DLL-файл.

У меня есть все мои проекты, кроме одного, использующего предварительно скомпилированный заголовок,без ошибок. Предварительно скомпилированный заголовок называется"LudoGlobal.h". Я пытаюсь связать последний проект с этим предварительно скомпилированным заголовком (который существует в отдельном проекте "Core"), но я получаю следующую ошибку:

Ошибка 4 критическая ошибка C1083: не удается открыть предварительно скомпилированный файл заголовка: '....OutputLudoSoundDebugLudoSound.ПЧ': Нет такого файла или каталог ludosoundmanager.cpp 1

для каждого .файл cpp. Почему так? Как я могу ее решить?

Я понимаю LudoSound.ПЧ не существует. Я предполагаю, что он, вероятно, создается при компиляции LudoSound, да?

4 ответов


вы используете "создавать автоматически" или "использовать предкомпилированный заголовок" проекта "создания предкомпилированного заголовка" на одном cpp файл? Последнее более эффективно, но я видел, что конфигурация каждого файла в проектах случайно сбрасывается, так что "stdafx.cpp " (или что-то еще) файл больше не генерирует предварительно скомпилированный заголовок.


У меня была эта проблема после удаления и повторного добавления stdafx.cpp от & к моему проекту. Решение:

  • stdafx.cpp должен иметь свойство Create PrecompiledHeader (/Yc), это устанавливает stdafx.СРР как тот, который отвечает за создание .pch от stdafx.h
  • проект (и с этим все файлы в нем) может иметь свойство использовать PrecompiledHeader (/Yu), они могут использовать .pch создан компиляцией stdafx.cpp

попробуйте перестроить свой проект в новом, копируя только необходимые файлы.


LudoSound.ПЧ не регенерируется. Удалите только папку, в которой она была, и создайте снова.