Par défaut, Visual Studio compile un projet pour utiliser la DLL multithread, trouvée dans l'environnement d'exécution Visual Studio. Je veux compiler mon programme en utilisant seulement/MT au lieu de/MD. Accordé, que la plupart des systèmes ont déjà installé ceci, et il est également disponible comme re-distribuable.Compilation d'un programme sans la DLL multithread (Visual C++ 2010)
Quand je change/MD/MT, je reçois une erreur:
MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
Et quatre ou cinq erreurs similaires. Pour essayer de résoudre ce problème, j'ai supprimé LIBCMT.LIB des bibliothèques par défaut.
je puis obtenir l'erreur:
libcpmt.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_crt referenced in function __Getctype
Suppression MSVCRTD.lib de la liste par défaut conduit à des erreurs similaires? Il convient de noter que: - Il s'agit d'un projet OpenGL utilisant la bibliothèque glfw. -J'utilise la bibliothèque d'images SOIL de lonesock pour le chargement de la texture.
Quels sont vos paramètres de construction? Parce que MSVCRTD est la version de débogage de MSVCRT. – Bart
duplication possible de [Résoudre LNK4098: defaultlib 'MSVCRT' conflits avec] (http://stackoverflow.com/questions/3007312/resolving-lnk4098-defaultlib-msvcrt-conflicts-with) –