Je transfère des logiciels tiers de Linux vers Windows en utilisant Visual C 2008 Express.Où est wctype dans Visual C 2008 Express?
J'ai des problèmes avec la fonction `wctype '. Il est déclaré en% VCDIR%/include/fichier wctype.h comme suit:
_MRTIMP2 wctype_t __cdecl wctype (const char *);
Mais, en essayant de lier un avoir l'erreur suivante:
C:\test>cl test.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
test.c
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
/out:test.exe
test.obj
test.obj : error LNK2019: unresolved external symbol _wctype referenced in function _main
test.exe : fatal error LNK1120: 1 unresolved externals
Le code de test est le suivant:
#include <wctype.h>
int
main (void)
{
return (int) wctype ("alpha");
}
Comme vous pouvez le voir dans le message d'erreur, le code compile bien, mais ne peut pas lier.
Que faire? Je ne suis pas un développeur de ce logiciel, donc je ne veux pas remplacer la fonction `wctype 'par une autre, car cela peut perturber les développeurs originaux.
Merci pour votre patience.
P.S. J'ai aussi regardé la table d'importation du fichier MSVCRT90.DLL avec Dependency Walker et il n'y a pas de fonction `wctype '.
Oui, cela est la bonne réponse. Lier à libcmt.lib provoque des problèmes horribles. –