Fehler bei win32 in MFC



  • Hallo,

    ich habe ein Standart MFC Projekt geöffnet und habe jetzt da meinen Code eingefügt.
    Das Programm lief ohne Probleme bevor ich neuen Dialog Code iengefügt habe.

    Jetzt kommen folgende Fehler:

    LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
    app.obj : error LNK2019: unresolved external symbol "public: bool __thiscall test::connect(void)" (?connect@test@@QAE_NXZ) referenced in function "void __cdecl process(void *)" (?process@@YAXPAX@Z)
    app.obj : error LNK2019: unresolved external symbol "public: __thiscall test::test(char const *,int)" (??test@@QAE@PBDH@Z) referenced in function "void __cdecl process(void *)" (?process@@YAXPAX@Z)
    Debug/mfcclient.exe : fatal error LNK1120: 2 unresolved externals

    ich habe definitiv keine libs mehr die ich verlinken könnte.
    Vielen Dank
    SD



  • Also das warning habe ich jetzt weg. Nämlich mit:

    #pragma comment(linker, "/NODEFAULTLIB:libcmt.lib ")

    Die anderen Errors kann ich aber nicht lösen. Es ist irgendwie seltsam, dass es unstimmigkeiten mit meinen Funktionen und und der cdecl gibt.

    Hat jemand ne Idee?

    In der Doku steht zu dem Fahler, dass das bei VS.net 2003 auftritt, wenn:

    /clr is used and the CRT is not linked into your executable

    HELP!



  • Wenn ich mal annehme das deine Klasse test heisst, dann vermute ich einfach mal
    das du bei deiner Implementierung den Klassennamen vergessen hast, d.h.:

    void connect(void)
    {
    }
    

    statt

    void test::connect(void)
    {
    }
    

    und

    test(char const *,int)
    {
    }
    

    statt

    test::test(char const *,int)
    {
    }
    

    😉



  • Verstehe ich nicht. ich habe einfach die Aufrufe in meine "Process" Klasse integriert. Die greifen auf externe Funktionen zu.

    test* m_test= new test (bla);
    m_test->connect();
    

    und ich kann doch dann nicht einfach connect sagen.


Anmelden zum Antworten