?
Testheader.h + .c ist die DLL datei.
Du musst in der Headerdatei angeben welche Funktionen du exportieren willst !
So sieht ein richtiger Header aus:
/* testheader.h */
#ifndef testheader_h
#define testheader_h
extern int __declspec(dllexport) addTwo(int a, int b);
#endif
Dieser Header gehört zu Testheader.c, wenn du die Datei kompilierst sollte jetzt kein Fehler mehr kommen glaub ich.
Mainheadertest.c ist jetzt das Programm welches die DLL benutzt, dazu benötigst du den Header testheader.h, mit einem Unterschied:
/* testheader.h */
#ifndef testheader_h
#define testheader_h
extern int __declspec(dllimport) addTwo(int a, int b);
#endif
Hier musst du die Funktion importieren ! (__declspec(dllimport))
Normalerweise hilft man sich hier mit Präprozessor direktiven, so dass man nur eine Header datei hat und automatisch der richtige Modifier verwendet wird(schau dir mal bsp-codes an).
Du musst also diese Header-datei includen, die *.lib (oder *.a) dem Linker hinzufügen, und die DLL im selben Verzeichnis wie das Programm. (Die .lib/.a Datei erstellst du beim Kompilieren der DLL Datei).
Wie du die Datei dem Linker hinzufügst kommt darauf an mit welcher IDE du arbeitest.