Frage

Ich bin 3rd-Party-Software von Linux auf Windows zu portieren Visual C 2008 Express verwendet wird.

Ich habe Probleme nur mit der Funktion `wctype‘. Es erklärt in% VCDIR% / include / wctype.h Datei wie folgt:

 _MRTIMP2 wctype_t __cdecl wctype (const char *);

Aber, wenn sie versuchen, eine der folgenden Fehler zu verknüpfen haben:

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

Der Testcode folgt:

#include <wctype.h>

int
main (void)
{
  return (int) wctype ("alpha");
}

Wie Sie Fehlermeldung sehen können, Code OK kompiliert, kann aber nicht Link.

Was ist zu tun? Ich bin kein Entwickler dieser Software, so dass ich `wctype‘ Funktion mit einer anderen nicht ersetzen will, weil es ursprüngliche Entwickler verwirren kann.

Vielen Dank für die Geduld.

P. S. Ich habe auch bei MSVCRT90.DLL-Datei der Importtabelle mit Dependency Walker und es gibt keine `wctype‘ Funktion betrachtet.

War es hilfreich?

Lösung

Versuchen Sie diese:

cl test.c /link MSVCPRT.LIB

Andere Tipps

Sie müssen sich mit LIBCP.lib zu Link wie hier erwähnt:

http://msdn.microsoft.com/ en-us / library / aa246681 (VS.60) aspx

Wenn Sie MSVCPRT.lib verwenden Sie eine DLL auf Ihrem Setup neu verteilen müssen abhängig (z msvcp90.dll). Wenn Sie nicht neu zu verteilen wollen versuchen Sie dies:

cl test.c /link libcpmt.lib

Eine Liste aller Bibliotheken Link zu ist hier (siehe unten): http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top