Функцията srandomdev е достъпна в stdlib.h на BSD или OSX системи, не на GNU системи като Cygwin или Linux.
Изглежда, че скриптът за компилация не разпознава факта, че работите на Cygwin. Има няколко опции, които можете да опитате. Най-лесните са
Промяна на клаузата ifdef
Без машина с Windows, на която да тествате това, е трудно да се потвърди, че това ще работи за вас. В src/mongo/platform/random.cpp , редактирайте ред 108
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
да бъде
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__) || defined(__CYGWIN__)
Изтрийте последната клауза else
Намерете реда (141 в моята версия) на src/mongo/platform/random.cpp това изглежда като
#else
class SRandSecureRandom : public SecureRandom {
public:
Изтрийте редовете до #endif
клауза и след това редактирайте
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
просто да бъда
#else