Как использовать два предварительно скомпилированных заголовка. Один для управляемого и один для неуправляемого кода. xxx.pch не является допустимым предварительно скомпилированным заголовочным файлом

Я смешал проект C ++ (управляемый и неуправляемый). Неуправляемый использует много библиотек, таких как boost. Все они включены в файл stdafx.h. Я пытаюсь иметь два отдельных предварительно скомпилированных заголовка, один управляемый (stdafx.h) и один для неуправляемого (stdafxManaged.h).
Однако когда я включаю stdafxManaged.h из моего управляемого кода, я получаю сообщение об ошибке:

ошибка C2855: параметр командной строки ‘/ clr’ несовместим с предварительно скомпилированным заголовком

Поэтому я включаю поддержку общего языка RunTime (/ clr) для stdasfManaged.cpp и получаю следующую ошибку:

ошибка C1852: «Debug \ xxx.pch» не является допустимым предварительно скомпилированным заголовочным файлом

Где xxx — это имя проекта, которое отображается как ошибка для всех неуправляемых файлов .cpp в проекте.

Кто-нибудь знает, как исправить эту ошибку, или есть какая-либо ссылка на учебник, в котором рассказывается, как настроить несколько предварительно скомпилированных заголовков для смешанного кода?

3

Решение

Это на самом деле возможно. Убедитесь, что / clr активен для файла .cpp, и параметры файла скомпилированного заголовка и файла скомпилированного заголовка отличаются от обычных stdafx.h и $ (TargetName) .pch.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]