MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Kompilieren des MongoDB C++-Treibers auf Cygwin

Die srandomdev-Funktion ist in stdlib.h verfügbar auf BSD- oder OSX-Systemen, nicht auf GNU-Systemen wie Cygwin oder Linux.

Es sieht so aus, als ob das Build-Skript die Tatsache nicht erkennt, dass Sie auf Cygwin laufen. Es gibt ein paar Optionen, die Sie ausprobieren können. Die einfachsten sind

ifdef-Klausel ändern

Ohne einen Windows-Computer, auf dem Sie dies testen können, ist es schwierig zu bestätigen, dass dies für Sie funktioniert. In src/mongo/platform/random.cpp , Zeile 108 bearbeiten

#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)

sein

#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__) || defined(__CYGWIN__)

Löschen Sie die letzte Else-Klausel

Suchen Sie die Zeile (141 in meiner Version) von src/mongo/platform/random.cpp das sieht aus wie

#else
class SRandSecureRandom : public SecureRandom {
public:

Löschen Sie die Zeilen bis zum #endif -Klausel und bearbeiten Sie dann

#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)

einfach sein

#else