sql >> Databasteknik >  >> NoSQL >> MongoDB

Kompilera MongoDB C++-drivrutin på Cygwin

Funktionen srandomdev är tillgänglig i stdlib.h på BSD- eller OSX-system, inte på GNU-system som Cygwin eller Linux.

Det verkar som att byggskriptet inte känner igen det faktum att du kör på Cygwin. Det finns några alternativ som du kan prova. De enklaste är

Ändra ifdef-sats

Utan en Windows-maskin att testa detta på är det svårt att bekräfta att detta kommer att fungera för dig. I src/mongo/platform/random.cpp , redigera rad 108

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

att vara

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

Ta bort den sista else-satsen

Hitta raden (141 i min version) av src/mongo/platform/random.cpp det ser ut som

#else
class SRandSecureRandom : public SecureRandom {
public:

Ta bort raderna ner till #endif och redigera sedan

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

att helt enkelt vara

#else



  1. "Fält krävde en böna av typ som inte kunde hittas." fel fjäder vilsamt API med mongodb

  2. MongoDB-sorteringen är extremt långsam även på indexerade fält

  3. Mongoose Query:Hitta ett element i en array

  4. Kan inte ansluta till MongoDB 2.0.5-databasen med pymongo 2.2