MFC in WINAPI-App: Header Problem (afxwin.h/windows.h)



  • Hi,
    ich habe das:

    #include <windows.h>
    #include <afxwin.h>
    
    int WINAPI WinMain(
      HINSTANCE hInstance,      // handle to current instance
      HINSTANCE hPrevInstance,  // handle to previous instance
      LPSTR lpCmdLine,          // command line
      int nCmdShow              // show state
    )
    {
    	CDC desk;
    	desk.m_hDC = ::GetDC(0);
            //...
    	return 0;
    
    }
    

    Eine ganz simple Frage: wie muss ich die Header korrekt includen?
    afxwin.h und windows.h geben, wie zu erwarten:

    d:\Programme\Visual Studio.NET\Vc7\atlmfc\include\afxv_w32.h(18): fatal error C1189: #Fehler :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
    

    nur afxwin.h gibt aber, auch nicht ganz unerwartet:

    WinAPIDraw error LNK2019: Nicht aufgeloestes externes Symbol __beginthreadex, verwiesen in Funktion "public: int __thiscall CWinThread::CreateThread(unsigned long,unsigned int,struct _SECURITY_ATTRIBUTES *)" (?CreateThread@CWinThread@@QAEHKIPAU_SECURITY_ATTRIBUTES@@@Z)
    

    sowie

    Nichtaufgel. Symbol _endthreadex ...
    

    Wie kann ich nun die Klasse CDC in einer WINAPI-App benutzen?

    MfG
    das_brot



  • in den linkoptionen noch was verändern. 🤡



  • Ooch sei brav und sags dem lieben Onkel, was meinst du genau ? 🤡



  • unter codeerstellung irgendwo multithread-debug(-dll) einstellen 🤡



  • argh, wo stellt man das bei der neuen ide von .net ein? wäre ja schalter /MT, oder?



  • projektoptionen/c++/codeerstellungen

    das mit /MT dürfte stimmen 🤡 🤡



  • jetzt hat sich jemand nen ganz grossen schockoriegel verdient 😉
    danke, ich habe immer bei den linkeroptionen gesucht.


Anmelden zum Antworten