Kampf mit Multimedia-Timern
-
Hi Fans,
ich brauche in meiner DLL einen Timer, dazu möchte ich einen Multimediatimer benutzen:
CPP:
CAccessObj::CAccessObj(void) { m_elTime = 10000; TIMECAPS tc; timeGetDevCaps(&tc, sizeof(TIMECAPS)); DWORD resolution = min(max(tc.wPeriodMin, 0), tc.wPeriodMax); timeBeginPeriod(resolution); m_idEvent = timeSetEvent(m_elTime, resolution, TimerFunction, (DWORD)this, TIME_PERIODIC); } CAccessObj::~CAccessObj(void) { timeKillEvent(m_idEvent); timeEndPeriod (m_elTime); } void CALLBACK CAccessObj::TimerFunction(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2) { CAccessObj* obj = (CAccessObj*)dwUser; obj->MMTimerHandler(wTimerID); } void CAccessObj::MMTimerHandler(UINT nIDEvent) { // irgendwas }
H:
class CAccessObj { private: static void CALLBACK TimerFunction(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2); public: CAccessObj(void); virtual ~CAccessObj(void); void MMTimerHandler(UINT nIDEvent);
Compiliert wirds, nur mit Linken klappts nicht, da erhalte ich folgende Meldungen:
HKDLL error LNK2019: Nicht aufgeloestes externes Symbol __imp__timeSetEvent@20, verwiesen in Funktion "public: __thiscall CAccessObj::CAccessObj(void)" (??0CAccessObj@@QAE@XZ)
HKDLL error LNK2019: Nicht aufgeloestes externes Symbol __imp__timeBeginPeriod@4, verwiesen in Funktion "public: __thiscall CAccessObj::CAccessObj(void)" (??0CAccessObj@@QAE@XZ)
usw.
Wie kann ich das beseitigen?
MfG F98.
-
Und du kommst da wirklich nicht selbst drauf?
-
Nö, hab ehrlich gesagt ein Brett vor dem Kopp.
-
-
Ok, danke für die Hilfe.
Wäre ich nie im Leben drauf gekommen:
#pragma comment(lib, "Winmm.lib")
-
Dort steht ganz unten das winmm.lib benötigt wird.