Visual Studio CRT — как поделиться статической библиотекой, используемой клиентами, со статической и динамической CRT?

Если у вас есть следующая структура проекта:

 -Shared
- Exe_Proj1
- Exe_Proj2

Которые используют ЭЛТ следующими способами:

-Shared (Dynamic CRT /MD)
- Exe_Proj1 (Dynamic CRT /MD)
- Exe_Proj2 (Static CRT /MT)

Тогда как вы можете поделиться «Shared» проектом с «Exe_Proj2»?

Я думал об использовании / NODEFAULTLIB в общей папке, но это не изменит настройки CRT в области настроек проекта «генерация кода».

0

Решение

Если Shared статическая библиотека, вы просто не можете это сделать Делать Exe_Proj2 использовать динамический ЭЛТ или умереть, пытаясь.

Если Shared это динамическая библиотека, она должна работать, если вы не передаете между библиотеками ничего, что требует службы CRT (любой стандартный тип библиотеки C ++, файловые дескрипторы и т. д.), но в этом случае компоновщик не должен жаловаться ,

1

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

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

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