MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Compilando o driver MongoDB C++ no Cygwin


A função srandomdev está disponível em stdlib.h em sistemas BSD ou OSX, não em sistemas GNU como Cygwin ou Linux.

Parece que o script de compilação não reconhece o fato de que você está executando no Cygwin. Existem algumas opções que você pode tentar. Os mais fáceis são

Alterar cláusula ifdef


Sem uma máquina Windows para testar isso, é difícil confirmar que isso funcionará para você. Em src/mongo/platform/random.cpp , edite a linha 108
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)

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

Excluir a última cláusula else


Encontre a linha (141 na minha versão) de src/mongo/platform/random.cpp isso parece
#else
class SRandSecureRandom : public SecureRandom {
public:

Exclua as linhas até o #endif cláusula e, em seguida, edite
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)

simplesmente ser
#else