Я работаю над новой конфигурацией решения для нашего большого проекта VC ++ с использованием VS 2008. Мне бы хотелось, чтобы в этой конфигурации использовался флаг многоядерной сборки / MP .
Однако функция «#import» генерации классов-оболочек COM распространяется по всей базе кода, и эта функция не поддерживается при использовании /MP.
.
Я понимаю, почему #import не будет работать, Я хочу знать, сталкивался ли кто-нибудь с этой проблемой и как они обошли ее?
Я делаю следующее:
- Не использовать флаг / MP для небольших проектов или за пределами справки. (возможно я вернусь к ним позже)
- Удалил #import и заменил его более стандартным сгенерированным MIDL заголовком (#include). Это вариант только в некоторых местах, которые легко преобразовать в COM старой школы.
- Создайте новый проект, который # импортирует остальные библиотеки. Сделайте эту сборку первой. # Включите файлы .tlh, которые он создает во всех местах, # импортированных ранее.
Мне любопытно, если у кого-нибудь есть какие-либо другие предложения? Кроме того, о последней точке (создание нового проекта и использование только там #import) - если вы сделали что-то вроде это, как ты это сделал? Какой тип проекта, как выглядел «источник», где вы выводили файлы? Как вы их включили? (знаешь, все думай за меня!)