LNK2001/LNK1120



  • Ich bringe mir gerade das coden mit MFC bei und versuche zu verstehen was dort abläuft, dazu habe ich diesen alten Code aus einem Tutorial benutzt - aber ich bekomme ihn nicht zulaufen. bekomme LNK2001/LNK1120 Fehlermeldung. Ich kann den Fehler nicht finden, werden vielleicht zu alte methoden oder klassen benutzt???

    #include <afxwin.h> //1
    
    class CMinimfc2App : public CWinApp //2
    {
    public:
    virtual BOOL InitInstance () ; //3
    } ;
    
    class CMainFrame : public CFrameWnd //4
    {
    public:
    CMainFrame () ; //5
    } ;
    
    CMinimfc2App theApp ; //6
    
    BOOL CMinimfc2App::InitInstance () //7
    
    {
    m_pMainWnd = new CMainFrame ; //8
    m_pMainWnd->ShowWindow (m_nCmdShow) ; //9
    return TRUE ;
    }
    
    CMainFrame::CMainFrame () //10
    {
    Create (NULL , "Programm MINIMFC2") ; //11
    }
    


  • das ist ein linkerfehler, heißt: dir fehlt zum beispiel eine implementierung einer
    funktion, o.ä.

    genaueres zu diesem fehler findest du in der msdn.

    so allgemein ist schwer zu orten, wo du den fehler im programm hast. der linker gibt dir aber immer einen hinweis mit, nämlich den namen zum beispiel der funktion, die nicht implementiert ist.
    so poste doch mal den genauen linkerfehler. nicht nur die nummer.

    so long



  • Die Fehlermeldung:

    Linker-Vorgang läuft...
    msvcrtd.lib(crtexe.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
    Debug/test3.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    test3.exe - 2 Fehler, 0 Warnung(en)

    die msvcrtd.lib ist vorhanden und im richtigen Pfad...

    Ja, die Info über den Fehler von Microsoft hilft mir auch nicht weiter - das Prog. muss mal in früheren Versionen als VC++6.0 lauffähig gewesen sein. Warum jetzt nicht mehr? Ich habe keine Ahnung wo der Fehler liegen soll.



  • er sucht eine main funktion, den einsprung.

    kann das sein, daß du ein konsolenprogramm erstellt hast, aber darin mfc einbindest??

    wie hast du dein projekt denn angefangen? mfc legt sich doch selber an, nachdem du den assistenten nutzt. hmm ...



  • Juhu - ich habe das Problem gelöst. Also Du hast recht - es war nur eine normale Konsolenanwendung. Ich habe ein neues Projekt Win32-Anwendung erstellt, jetzt läufts. Auch ohne Assistenten.... und soviel wie ich weiss erkennt der Compiler, wenn die MFC eingebunden wird und erstellt die Main von selbst - oder???

    Also erst mal besten Dank.


Anmelden zum Antworten