Я смешал проект C ++ (управляемый и неуправляемый). Неуправляемый использует много библиотек, таких как boost. Все они включены в файл stdafx.h. Я пытаюсь иметь два отдельных предварительно скомпилированных заголовка, один управляемый (stdafx.h) и один для неуправляемого (stdafxManaged.h).
Однако когда я включаю stdafxManaged.h из моего управляемого кода, я получаю сообщение об ошибке:
ошибка C2855: параметр командной строки ‘/ clr’ несовместим с предварительно скомпилированным заголовком
Поэтому я включаю поддержку общего языка RunTime (/ clr) для stdasfManaged.cpp и получаю следующую ошибку:
ошибка C1852: «Debug \ xxx.pch» не является допустимым предварительно скомпилированным заголовочным файлом
Где xxx — это имя проекта, которое отображается как ошибка для всех неуправляемых файлов .cpp в проекте.
Кто-нибудь знает, как исправить эту ошибку, или есть какая-либо ссылка на учебник, в котором рассказывается, как настроить несколько предварительно скомпилированных заголовков для смешанного кода?
Это на самом деле возможно. Убедитесь, что / clr активен для файла .cpp, и параметры файла скомпилированного заголовка и файла скомпилированного заголовка отличаются от обычных stdafx.h и $ (TargetName) .pch.
Других решений пока нет …