「scons」コマンドを使用して Cygwin で MongoDB C++ ドライバーをコンパイルしようとすると、次のエラーが発生します。
src/mongo/db/nonce.cpp:48:20: error: ‘srandomdev’ was not declared in this scope
それは何のライブラリですか?
ありがとう。
srandomdev 関数は、Cygwin や Linux などの GNU システムではなく、BSD または OSX システムのstdlib.hで使用できます。
Cygwin で実行していることをビルド スクリプトが認識していないようです。いくつかのオプションを試すことができます。最も簡単なものは
これをテストする Windows マシンがなければ、これが機能することを確認するのは困難です。src/mongo/platform/random.cppで、108 行目を編集します。
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
することが
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__) || defined(__CYGWIN__)
次のようなsrc/mongo/platform/random.cppの行 (私のバージョンでは 141) を見つけます。
#else
class SRandSecureRandom : public SecureRandom {
public:
句までの行を削除してから#endif
編集します
#elif defined(__linux__) || defined(__sunos__) || defined(__APPLE__)
単純に
#else