sql >> Databáze >  >> NoSQL >> MongoDB

Kompilace MongoDB C++ ovladače na Cygwin

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



  1. Vytváření REST API pomocí EVE

  2. Chyba MongoDB na mongos:příliš mnoho pozičních možností

  3. Možnost automatického opětovného připojení Mongoose

  4. V MongoDB, pokud je index na 3 polích, můžeme tento index použít při dotazu na 2 pole? (zástupný znak ve 3. poli)