4

我已经从http://dl.mongodb.org/dl/cxx-driver为我的 os x 下载了最新版本的 MongoDB C++ 驱动程序。然后我在 os x 终端中使用 tar xvf 命令提取。之后我运行 scons 来构建驱动程序。它通过给出以下消息成功构建

-- some messages --
ranlib build/libmongoclient.a
ranlib: file: build/libmongoclient.a(backtrace.o) has no symbols
ranlib: file: build/libmongoclient.a(posix_fadvise.o) has no symbols
ranlib: file: build/libmongoclient.a(ssl_manager.o) has no symbols
Install file: "build/libmongoclient.a" as "libmongoclient.a"
scons: done building targets.

所以,然后我运行命令“scons install”将库安装到我的机器中。

--some messages --
scons: done reading SConscript files.
scons: Building targets ...
scons: `install' is up to date.
scons: done building targets.

但是当我检查 libmongoclient 库的 /usr/local 目录时,它不存在。但是在我提取的 mongoDB 驱动程序文件夹中,有一个名为“libmongoclient.a”的文件。但是没有扩展名为“.dylib”的文件。那么我该如何使用 mongoDB Xcode & gcc C++ 呢?有人帮我链接 Xcode 中的“libmongoclient”库。

4

1 回答 1

3

我花了一段时间才让这个工作。希望您可以通过以下步骤开始工作:

在 Xcode 中创建一个新的 C++ 项目

我复制了代码<mongo_driver_install>/src/mongo/client/examples/tutorial.cpp作为测试

在构建设置/搜索路径中:

搜索路径的屏幕截图

将以下内容添加到您的Header Search Paths:

/path/to/mongo-cxx-driver-nightly/src

以及 boost 库头文件的等效路径(该文件夹应包含一个boost文件夹):

/usr/local/Cellar/boost/1.54.0/include

将以下内容添加到您的Library Search Paths:

/usr/local/lib (in my case holds all of the boost libraries)
/path/to/mongo-cxx-driver-nightly

链接二进制文件

Build Phases/Link Binary with Libraries设置中:

构建阶段的屏幕截图

添加以下二进制文件:

/path/to/mongo-cxx-driver-nightly/libmongoclient.a
/usr/local/lib/libboost_thread-mt.dylib
/usr/local/lib/libboost_system-mt.dylib
/usr/local/lib/libboost_filesystem-mt.dylib
/usr/local/lib/libboost_program_options-mt.dylib
于 2013-11-03T07:52:08.493 回答