sql >> Base de Datos >  >> NoSQL >> MongoDB

Compilando el controlador MongoDB C++ en Cygwin

La función srandomdev está disponible en stdlib.h en sistemas BSD u OSX, no en sistemas GNU como Cygwin o Linux.

Parece que el script de compilación no reconoce el hecho de que está ejecutando Cygwin. Hay algunas opciones que puedes probar. Los más fáciles son

Cambiar cláusula ifdef

Sin una máquina con Windows para probar esto, es difícil confirmar que funcionará para usted. En src/mongo/platform/random.cpp , editar línea 108

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

ser

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

Eliminar la última cláusula else

Encuentra la línea (141 en mi versión) de src/mongo/platform/random.cpp eso parece

#else
class SRandSecureRandom : public SecureRandom {
public:

Elimine las líneas hasta el #endif cláusula y luego editar

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

ser simplemente

#else