Problem mit DLL! Eigene DLL benutzen
-
Ich hab von Dev-C++ eine DLL (die schon vom Programm vorgeschrieben ist) erstellt.
dllmain.c/* Replace "dll.h" with the name of your header */ #include "dll.h" #include <windows.h> #include <stdio.h> #include <stdlib.h> DLLIMPORT void HelloWorld () { MessageBox (0, "Hello World from DLL!\n", "Hi", MB_ICONINFORMATION); } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; }dll.h
#ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ DLLIMPORT void HelloWorld (void); #endif /* _DLL_H_ */Wie kann ich jetzt die DLL in ein anderem Projekt in MSC++ 6.0 benutzen?
Mit freundlichen Grüßen
DarkShadow17
-
Dieser Thread wurde von Moderator/in Shade Of Mine aus dem Forum ANSI C in das Forum MFC mit dem Visual C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
#include <windows.h> #include "dll.h" #pragma comment(lib,dll.lib) int main() { HelloWorld(); return 0; }die dateien dll.h und dll.lib müssen natürlich auffindbar sein (z.b. gleicher ordner wie das andere programm)
dll.lib sollte automatisch erstellt worden sein als du deine dll kompiliert hast
-
Danke.
Die Lib-Datei wird aber nur dann erstellt wenn ich statt dllimport dllexport mache. Wo liegt da eigentlich der unterchied zwischen den beiden?
-
alle funktionen mit dllexport werden exportiert und alle mit import werden importiert
is das nich offensichtlich?in der dll musst du also dllexport benutzen und in der exe oder ner anderen dll dllimport
