win32-console <-> dll



  • Hallo Forum,

    ich habe vor, einige funktionen in einer DLL-Datei unter zubringen.
    Habe dazu ein kleines Test-Project angelegt ob es funktioniert.
    Nun mit WINAPI funktionen funktioniert das, aber rein win32-console leider
    ohne erfolg:

    LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
    Debug/routerexe.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise

    Also ich gehe mal stark davon aus das man DLL-Dateien nur in WINAPI
    benutzen kann ?!?!

    Oder hat einer eine Loesung das man DLL-Dateien auch fuer win32-console
    benutzen kann.

    mfg Oliver Kern.



  • statisches linken ist mir leider entfallen 🙄

    denke aber die WINAPI calls LoadLibrary,GetProcAddress,FreeLibrary dürften helfen

    gruß



  • Eine DLL kannst du in 'nem Konsolenprogramm genauso verwenden wie in einem GUI-Programm. Wieso auch nicht, ist doch beides WinAPI (es sei denn du willst ein 16-Bit Programm schreiben).

    Das Funktioniert auch exakt genauso wie bei jedem GUI-Programm auch: Die LIB mit linken oder die DLL dynamisch per LoadLibrary nachladen.

    Dein Problem muss also was anderes sein.

    Deine Fehlermeldung besagt, das der Linker die Funktion WinMain() nicht findet. Die wird für Konsolenprogramme gar nicht benötigt? (Bin mir da nich sicher, mein Compiler benötigt die Generell nicht, auch nicht bei Win32-GUI-Programmen) Bist du sicher dass du deinem Compiler mitgeteilt hast, dass du ein Konsolenprogramm compiliert haben willst?



  • LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
    Debug/routerexe.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise

    erzeuge mal ein konsolen-project anstelle eines Win32 projects, dann läufts. hat nichts mit der dll zu tun.


Anmelden zum Antworten