MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Compilation du pilote MongoDB C++ sur Cygwin

La fonction srandomdev est disponible dans stdlib.h sur les systèmes BSD ou OSX, pas sur les systèmes GNU comme Cygwin ou Linux.

Il semble que le script de construction ne reconnaisse pas le fait que vous exécutez sur Cygwin. Il y a quelques options que vous pouvez essayer. Les plus simples sont

Modifier la clause ifdef

Sans une machine Windows sur laquelle tester cela, il est difficile de confirmer que cela fonctionnera pour vous. Dans src/mongo/platform/random.cpp , éditez la ligne 108

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

être

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

Supprimer la dernière clause else

Trouvez la ligne (141 dans ma version) de src/mongo/platform/random.cpp ça ressemble à

#else
class SRandSecureRandom : public SecureRandom {
public:

Supprimez les lignes jusqu'au #endif clause puis modifiez

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

être simplement

#else