По умолчанию Visual Studio компилирует проект для использования многопоточной DLL, найденной во время выполнения Visual Studio. Я хочу скомпилировать свою программу, используя только / MT вместо / MD. Конечно, это установлено в большинстве систем, и оно также доступно для распространения.
Когда я меняю / MD на / MT, я получаю ошибку:
MSVCRTD.lib (MSVCR100D.dll): ошибка LNK2005: _free уже определено в LIBCMT.lib (free.obj)
И четыре или пять подобных ошибок.
Чтобы попытаться это исправить, я удалил LIBCMT.LIB из библиотек по умолчанию.
Я тогда получаю ошибку:
libcpmt.lib (_tolower.obj): ошибка LNK2019: неразрешенный внешний символ __calloc_crt, на который ссылается функция __Getctype
Удаление MSVCRTD.lib из списка по умолчанию приводит к подобным ошибкам?
Следует отметить, что:
-Это проект OpenGL, использующий библиотеку glfw .
-Я использую библиотеку изображений SOIL от lonesock для загрузки текстур.