Funkce srandomdev je dostupná na stdlib.h na systémech BSD nebo OSX, ne na systémech GNU jako Cygwin nebo Linux.
Vypadá to, že sestavení skript nerozpozná skutečnost, že používáte Cygwin. Existuje několik možností, které můžete vyzkoušet. Nejjednodušší jsou
Změnit klauzuli ifdef
Bez počítače se systémem Windows, na kterém byste to mohli otestovat, je těžké potvrdit, že to bude fungovat pro vás. V src/mongo/platform/random.cpp , upravte řádek 108
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
být
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__) || defined(__CYGWIN__)
Odstranit poslední klauzuli else
Najděte řádek (141 v mé verzi) src/mongo/platform/random.cpp to vypadá jako
#else
class SRandSecureRandom : public SecureRandom {
public:
Smažte řádky až po #endif
klauzuli a poté upravte
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
být prostě
#else