1

最近macに移行し、MongoDBを使用するc++アプリで作業しています。

コードはUbuntuで機能しましたが、MACでラム酒を使用すると、接続しようとするとセグメンテーション違反が発生し、例外も発生しません(これをキャッチしています)。

サーバーは稼働しており、pymongoまたはmongoシェルを介してサーバーを接続すると、正常に動作し、コレクションを読み取ることができます。

ここでセグメンテーション違反が発生します:

conn = new mongo::DBClientConnection();
conn->connect(url,err_msg);

url = "localhost"、 "localhost:27017"などの場合は関係ありません... connectを呼び出すと、オブジェクト(conn)がインスタンス化されて正しく割り当てられ、ダブルチェックしたときに常にセグメンテーション違反が発生します。

最新のc++ドライバーとmacosxマウンテンライオンに既知の問題はありますか?アプリケーションに署名する必要がありますか、それともrootとして実行する必要がありますか?

前もって感謝します

4

1 に答える 1

0

次のオプションを使用してmongo-cxx-driver、github からビルドしてみてください。

sudo scons --libc++ --c++11=on --cpppath=/opt/local/include --libpath=/opt/local/lib --prefix=/opt/local install
于 2015-02-19T17:04:49.700 に答える