Funkcja srandomdev jest dostępna w stdlib.h na systemach BSD lub OSX, a nie na systemach GNU, takich jak Cygwin czy Linux.
Wygląda na to, że skrypt kompilacji nie rozpoznaje faktu, że korzystasz z Cygwin. Istnieje kilka opcji, które możesz wypróbować. Najłatwiejsze są
Zmień klauzulę ifdef
Bez komputera z systemem Windows, na którym można to przetestować, trudno jest potwierdzić, że to zadziała. W src/mongo/platform/random.cpp , edytuj wiersz 108
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
być
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__) || defined(__CYGWIN__)
Usuń ostatnią klauzulę else
Znajdź wiersz (141 w mojej wersji) src/mongo/platform/random.cpp to wygląda jak
#else
class SRandSecureRandom : public SecureRandom {
public:
Usuń linie aż do #endif
klauzulę, a następnie edytuj
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
po prostu być
#else