LNK4098 — конфликт ‘MSVCRT’ с использованием GLFW

Я работаю над проектом с использованием OpenGL. Тем не менее, у меня есть предупреждение компоновщика «Resolving LNK4098: defaultlib ‘MSVCRT’ конфликтует с …», когда я строю свой проект.

Я много чего читал об этом предупреждении и узнал с помощью Dependency Walker, что мой GLEW использует MSVCRT.dll (думаю, так и должно быть, так как это «библиотека по умолчанию»). Однако, когда я проверяю GLFW3.DLL, он говорит, что использует MSVCR120.DLL, неправильную DLL, которая, как я подозреваю, вызывает конфликт в моем приложении.

Поэтому я пытаюсь собрать GLFW с нуля с исходным кодом с сайта. Я отредактировал следующие настройки в проекте:

  • Расширение цели -> сначала я создаю .lib, затем .dll
  • Набор инструментов платформы -> v120
  • Тип конфигурации -> сначала я создаю .lib, затем .dll

А затем в C / C ++ -> Генерация кода -> Библиотека времени выполнения я выбираю многопоточные DLL (/ MD)

Перед компиляцией я ставлю все на «релиз».

Когда я перестраиваю все и проверяю это снова, он все еще говорит, что использует MSVCR120.dll, и это все еще вызывает хорошо известный конфликт LNK4098.
Что я здесь не так делаю? Как я могу разрешить конфликт? Заранее спасибо!

0

Решение

Вам необходимо использовать один и тот же параметр «Библиотека времени выполнения» для библиотеки и вашего приложения.

Чтобы избежать проблем, вы должны подготовить две сборки библиотеки: одну для отладки и одну для выпуска.

2

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

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

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