Я работаю над проектом с использованием OpenGL. Тем не менее, у меня есть предупреждение компоновщика «Resolving LNK4098: defaultlib ‘MSVCRT’ конфликтует с …», когда я строю свой проект.
Я много чего читал об этом предупреждении и узнал с помощью Dependency Walker, что мой GLEW использует MSVCRT.dll (думаю, так и должно быть, так как это «библиотека по умолчанию»). Однако, когда я проверяю GLFW3.DLL, он говорит, что использует MSVCR120.DLL, неправильную DLL, которая, как я подозреваю, вызывает конфликт в моем приложении.
Поэтому я пытаюсь собрать GLFW с нуля с исходным кодом с сайта. Я отредактировал следующие настройки в проекте:
А затем в C / C ++ -> Генерация кода -> Библиотека времени выполнения я выбираю многопоточные DLL (/ MD)
Перед компиляцией я ставлю все на «релиз».
Когда я перестраиваю все и проверяю это снова, он все еще говорит, что использует MSVCR120.dll, и это все еще вызывает хорошо известный конфликт LNK4098.
Что я здесь не так делаю? Как я могу разрешить конфликт? Заранее спасибо!
Вам необходимо использовать один и тот же параметр «Библиотека времени выполнения» для библиотеки и вашего приложения.
Чтобы избежать проблем, вы должны подготовить две сборки библиотеки: одну для отладки и одну для выпуска.
Других решений пока нет …