vs. 2010: Fehler LNK2028: nicht aufgelöster Token (0A000342) "extern" C "int __stdcall

7

Der folgende Code stammt aus hier . Ich habe alle Windows NT-Teile entfernt, während ich an Windows 7 arbeite.

Ich habe diesen Code kopiert und in Visual Studio 2010 ausgeführt (Neues Projekt- & gt; VC ++ - & gt; CLR- & gt; CLR-Konsole ...). Aber es gibt viele ungelöste externe 'c' Fehler, wie unter dem Code aufgeführt. Was für ein Unrecht habe ich begangen?

%Vor%

Dies gibt folgende Fehler (und andere ähnliche ungelöste externe C-Fehler)

%Vor%

AKTUALISIERT

Durch die Einbindung der Bibliotheken (wie in den Antworten vorgeschlagen) konnte ich das Programm erfolgreich ausführen. Aber ich kann nicht verstehen, warum nur das erste Zeichen der Zeichenkette nicht das komplette Zeichen druckt, wie in der Ausgabe zu sehen ist:

%Vor%

In der obigen Ausgabe ist S eigentlich "start", C ist "console" usw. Ich habe das durch spy ++ tool bestätigt. Wie kann ich die komplette Zeichenfolge anstelle nur des ersten Zeichens drucken?

    
gpuguy 17.06.2012, 04:44
quelle

1 Antwort

21

CLR-Projekte enthalten standardmäßig keine Standard-Windows-Bibliotheken wie user32.lib .

Bearbeiten Sie Ihre Projekteigenschaften, suchen Sie die Option Linker-Eingaben und fügen Sie kernel32.lib user32.lib advapi32.lib hinzu. Dies sind die üblichen Bibliotheken, die für Win32-Code benötigt werden.

    
Ben Voigt 17.06.2012, 05:40
quelle