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