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

Compilazione del driver MongoDB C++ su Cygwin

La funzione srandomdev è disponibile in stdlib.h su sistemi BSD o OSX, non su sistemi GNU come Cygwin o Linux.

Sembra che lo script di compilazione non riconosca il fatto che stai utilizzando Cygwin. Ci sono alcune opzioni che puoi provare. I più semplici sono

Cambia clausola ifdef

Senza una macchina Windows su cui testarlo, è difficile confermare che funzionerà per te. In src/mongo/platform/random.cpp , modifica la riga 108

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

essere

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

Elimina l'ultima clausola else

Trova la riga (141 nella mia versione) di src/mongo/platform/random.cpp sembra

#else
class SRandSecureRandom : public SecureRandom {
public:

Elimina le righe fino a #endif clausola e quindi modificare

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

essere semplicemente

#else