Sonntag, Juli 5, 2020

fatal error LNK1120: 1 nicht aufgelöste externe Verweise

Dies ist das Programm :

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                PSTR szCmdLine, int iCmdShow)
{
 MessageBox (NULL, TEXT ("Hello, Windows!"), TEXT ("HelloMsg"), 0) ;

 return 0 ;
}

Kann ich nicht verstehen, die Fehler.Bitte um Hilfe bei der Beseitigung es.

**ERROR** `fatal error LNK1120: 1 unresolved externals
  • Die VS sind verwenden Sie? Haben Sie das Windows SDK installiert? Welche Windows-version sind Sie targeting?
  • Ist das die komplette Fehlermeldung? Dieser Fehler in der Regel enthält der name des symbols, das fehlt, und das wäre von unschätzbarem Wert bei der Entzifferung Ihrer Fehler.
  • Ich bin mit Microsoft Visual C++ 2010 Express einen compiler
  • Nachtaktiv bin ich targeting win7
  • templatetypedef ja, das ist die vollständige Fehlermeldung msg
  • MEIN ZIEL IST es WINDOWS 7
  • Versuchen Sie, die Installation der neuesten Windows-SDK.

InformationsquelleAutor saplingPro | 2011-06-29

3 Kommentare

  1. 3

    Ich glaube, Sie könnten arbeiten an einem console project und zu versuchen, eine windows application !
    Wenn es so ist,wählen Sie eine neue win32-Projekt von file->new und dann wieder schreiben, dass code.
    Sie wird dieses als Ausgabe:

    fatal error LNK1120: 1 nicht aufgelöste externe Verweise

    • ja ! Absolut richtig.
    • völlig vergessen, über das Projekt Fehlkonfiguration!
  2. 1

    Hinzufügen user32.lib deiner link-Bibliotheken Liste.

    Martyn

    • Martyn Lovell hinzufügen ?
    • Hängt davon ab, wie Sie bauen? Wenn Sie mithilfe von Visual Studio finden Sie eine Liste von .lib-Dateien, die auf einem der linker Teile der Projekt-Einstellungen. Wenn Sie ein makefile, können Sie es hinzufügen, um die linker-Kommandozeile.
    • Martyn Lovell, ich bin nicht in der Lage, dies zu tun..
    • Warum? Wie wollen Sie bauen? Welche version von VS? Was haben Sie getan, wenn Sie versuchen, um dieser die lib-Liste, und was hält Sie von durch das hinzufügen dieses?
    • Ich denke, es wurde bereits Hinzugefügt. Ich gehe zu Projekt->Eigenschaften->linker->Eingang->zusätzliche Abhängigkeiten.Es ist schon da.Ich benutze visual c++ 2010 express
    • OK. In diesem Fall, fügen Sie den Schalter /verbose, um die linker-Optionen, und fügen Sie das vollständige build-log.
    • wo, um diese (linker-Optionen ??) ?
    • Ja, die linker-Optionen. Allgemeinen. Show Progress
    • Martyn Lovell, was ist eigentlich user32.lib? was enthält Sie ?
    • user32.lib enthält die import-Referenzen, die es ermöglichen, Ihr Programm zu verbinden user32.dll enthält der MessageBox. Man nennt es eine import-lib, da es enthält genügend Informationen, um die es erlauben den linker an, legen Sie einen Verweis auf die DLL in die EXE/DLL-Import Address Table (IAT).

  3. 0

    Ich glaube nicht, dass Sie das Windows SDK Teil der VS-Express-Installation.

    VS Express = abgespeckte version des Kommerziellen VS

    Downloader
    http://www.microsoft.com/download/en/details.aspx?displaylang=en%29&id=3138

    ISO
    http://www.microsoft.com/download/en/details.aspx?id=18950

    Empfehle ich die ISO es ist ein guter Weg, um eine backup-Kopie um.

    • Windows SDK Teil der VS-Express-Installation was ist das und was wird Sie tun ?
    • Wenn er nicht das SDK, das kompilieren fehlschlagen würde, nicht den link.

Kostenlose Online-Tests