Я не знаю, возможно ли это сделать, но я бы хотел, чтобы / NODEFAULTLIB применялся к проекту статической библиотеки.
У меня есть много проектов приложений (A.exe, B.dll, C.dll), которые используют общую статическую библиотеку D.lib.
В этой библиотеке много кода, а также есть другие зависимости .lib. Одна из них - библиотека openssl, которая, кажется, была построена для win32 против версии CRT выпуска (у меня нет исходного проекта / источников).
Пока что, чтобы избежать смешивания версий CRT Release / Debug, я должен поместить директиву /NODEFAULTLIB:msvcrt.lib во все конечные проекты (A.exe, B.dll). Это работает, но я думаю, что это не идеальный способ решения этой проблемы.
Я пытался поместить это свойство в проект D.lib, но это не имеет никакого эффекта.
Есть ли способ заставить msvc ++ игнорировать зависимость msvcrt.lib из сторонней библиотеки?