Ich versuche, C++ Mongo-Treiber zu installieren, aber wenn ich versuche, es mit SCONS zu erstellen, erhalte ich die folgende Fehlermeldung \ util \ Nebenläufigkeit \ shared_mutex_win.hpp (180): Fehler C2039: 'WaitForSingleObject' ist kein Mitglied von 'boost :: detail :: win32'. Bitte helfen Sie mir bei der Behebung des Problems. Ich habe Windows.h-Header in der erforderlichen Position enthalten, aber noch nicht funktioniert. Ich führe Windows 8.1 x64, Visual Studio 2013 Ultimate.Fehler C2039: 'WaitForSingleObject' ist kein Mitglied von 'boost :: detail :: win32'
Antwort
Dank regelte es durch die Bereichsauflösungs Operatoren mit den Gewinden Methoden ruft in der shared_mutex_win.hpp Datei verwendet zu entfernen. Das heißt, boost :: detail :: :: WaitForSingleObject wird zu WaitForSingleObject und boost :: detail :: WaithForMultipleObjects wird zu WaithForMultipleObjects. Ich hoffe, dass dies später jemandem helfen wird.
Ändern von 3rd Party Library Code ist nicht immer eine Lösung für irgendein Problem. – IInspectable
@steadybits Ja, das solltest du wirklich nicht tun müssen. Welche Version des MongoDB-Treibers möchten Sie installieren? Es sieht aus wie 26COMPAT oder Legacy. Gibt es einen Grund, warum Sie den neueren C++ 11-Treiber nicht aus dem Masterzweig verwenden? Wenn Sie Hilfe benötigen, aktualisieren Sie Ihre Frage bitte mit den hier beschriebenen Informationen darüber, wie Sie Hilfe zum 26compat/legacy-Treiber anfordern können: https://github.com/mongodb/mongo-cxx-driver/wiki/Download -und-Kompiliere-den-Legacy-Treiber # how-to-ask-for-help – acm
Nur eine Vermutung - haben Sie 'using namespace' in eine Headerdatei geschrieben? –
Nein, ich habe 'namespace' nirgends verwendet. Ich verwende boost 1.59.0, scons 2.1.0 – steadybits
Fügen Sie keine Diagnose-Ausgabe als Screenshots ein. Screenshots entkommen Textsuchen, was diese Frage weniger auffindbar macht, d. H. Weniger nützlich. – IInspectable