Hallo, ich möchte Funktionen aus einigen Header Datein nutzen! Allerdings gibt es hier nur die .h Datein und 2 Lib Datein. Reicht das schon aus? ICh dachte zu einer .h gehört auch immer eine .cpp Datei? (Oder hat das was mti ActiveX bzw ATL zu tun was hier immer erwähnt wird?)
Die .h sieht etwa so aus:
C++:
... #elif defined(__cplusplus) /* for compiling under C++, we need to say that these are "C" functions */ #define ZICOMDLGPREFIX extern"C"
ZICOMDLGPREFIX long ZICOMDLGPOSTFIX IsTSAvailable(void);
Dazu gibt es dann noch 2 .lib Datein! extern bedeutet doch, das die Datei woanders definiert ist, oder? Nur wie kommt der Linker (nur der verursacht einen Fehler: TestDerSDK.obj : error LNK2001: Nichtaufgeloestes externes Symbol _IsTSAvailable Debug/TestDerSDK.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise ) herraus wo die Datei definiert wird? Ich habe noch eine .dlg und eine .dlo Datei! Das Verzeichnis wo diese DAtein enthalten sind habe ich dem VC++ mitgeteilt:Extras/Optionen/Bibliothekdatein
automatisch von VC++ erledigt? Ich wollte um diese Fehlerquelle auszuschließen diese Defineanweisung in mein Programm einbauen, aber er sagt dieses sei reserviert und er ignoriert die Anweisung.
du darfst __cplusplus nicht selbst definieren! Das darf nur der Compiler machen. Am besten mal einen rebuild ausführen. Vielleicht findet er die Library auch nicht. Füg am besten mal ans ende der headerdatei
C++:
#pragma comment(lib,"deinelibrary")
ein. (Pro library eine so eine Zeile) -- class God : public ChuckNorris { };