Prozedur Eintrag Punkt InitializeConditionVariable konnte nicht gefunden werden in kernel32.dll
Ich bin mit Erzeuger-Verbraucher-problem( mit windows-thread ).Es kompilieren erfolgreich, aber auf ausgeführt es zeigt folgenden Fehler
Prozedur Eintrag Punkt InitializeConditionVariable konnte nicht in der dynamischen Bibliothek Kernel32.dll.
u kann sagen, was würde der Grund dafür sein
- nicht ohne code
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist eine API-Funktion, die es nur in Vista und bis. Ich würde vermuten, dass Sie dies ausführen code auf XP.
Nicht versehentlich mithilfe von API-Funktionen, die es nur in späteren Versionen von Windows, werden Sie wollen, definieren Sie das _WIN32_WINNT-makro:
Wenn Sie ihn nicht eingestellt haben, dann ist es in der Regel standardmäßig auf 0x600 auf späteren Versionen des Windows-SDK auswählen, Vista als Betriebssystem. Btw, wirst du wahrscheinlich aufgeben, auf bedingungsvariablen. Es gibt nicht genug detail in deiner Frage zu bieten, einen passenden Ersatz. Code, der verwendet Mutexe stattdessen sollte nicht schwer zu finden.
InitializeConditionVariable
und den zugehörigen condition-variable-APIs sind nur verfügbar, auf Windows Vista ab. Könnten Sie Boost.Thread, um eine Zustand-variable Implementierung, die funktioniert auf Windows XP. Ich schrieb einen Artikel auf meinem blog über, wie man das für eine producer/consumer-Warteschlange.