Linker
-
Hey,
ich habe grade einen Code geschrieben um Funktionen aus einer DLL zu laden. Hier der Code://Hook.h #include <windows.h> #include <stdio.h> ... typedef bool (CALLBACK *MYFUNC)(void); LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM); ... MYFUNC SetHook; MYFUNC RemoveHook;
#include <windows.h> #include "Hook.h" int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HINSTANCE hDLL = LoadLibrary("dll.dll"); if(hDLL == NULL) { MessageBox(NULL, "Fehler beim Laden der DLL: dll.dll", "Fehler", MB_OK); return FALSE; } SetHook = (MYFUNC) GetProcAddress(hDLL, "SetHook"); if(SetHook == NULL) { MessageBox(NULL, "Fehler beim Laden der Funktion: SetHook nicht gefunden!", "Fehler", MB_OK); return FALSE; } RemoveHook = (MYFUNC) GetProcAddress(hDLL, "RemoveHook"); if (RemoveHook == NULL) { MessageBox(NULL,"Fehler beim laden der Funktion: RemoveHook nicht gefunden!", "Fehler",MB_OK); return FALSE; } return 0; }
Wenn ich das nun compielen will treten folgende Fehler auf:
Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup". MSVCRTD.lib
Fehler 2 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.Kann mir Jemand sagen welche .lib ich linken muss? Bzw wie ich sowas in MSDN herrausbekomme(noch nicht wirklich damit geabreitet :/)?
-
Zeig mal deine DLL her. Für Windows-Applikationen braucht die DLL als Einstieg eine Funktion DllMain. Normalerweise übernehmen die Linker-Einstellungen die
IDEs der Compiler.