sql >> Database teknologi >  >> NoSQL >> MongoDB

Kompilere MongoDB C++ driver på Cygwin

Funktionen srandomdev er tilgængelig i stdlib.h på BSD- eller OSX-systemer, ikke på GNU-systemer som Cygwin eller Linux.

Det ser ud til, at build-scriptet ikke genkender det faktum, at du kører på Cygwin. Der er et par muligheder, som du kan prøve. De nemmeste er

Skift ifdef-klausul

Uden en Windows-maskine til at teste dette på, er det svært at bekræfte, at dette vil fungere for dig. I src/mongo/platform/random.cpp , rediger linje 108

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

at være

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

Slet den sidste andet klausul

Find linjen (141 i min version) af src/mongo/platform/random.cpp der ligner

#else
class SRandSecureRandom : public SecureRandom {
public:

Slet linjerne ned til #endif klausul og rediger derefter

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

simpelthen at være

#else



  1. Rekursionsforespørgsel?

  2. mongo tilføje til indlejret array, hvis indtastningen ikke indeholder to felter, der matcher

  3. MongoDB DBRef PÅ SLET KASCADE

  4. Sådan får du alle samlingsnøgler, der indeholder en bestemt (streng)værdi i mongodb