Building on Unix
Prerequisites
OpenSSL is required for authentication or for SSL connections to MongoDB. Kerberos or LDAP support requires Cyrus SASL.
To install all optional dependencies on RedHat / Fedora:$ sudo yum install pkg-config openssl-devel cyrus-sasl-develOn Debian / Ubuntu:$ sudo apt-get install pkg-config libssl-dev libsasl2-devOn FreeBSD:$ su -c 'pkg install pkgconf openssl cyrus-sasl'
Building from a release tarball
Unless you intend on contributing to the mongo-c-driver, you will want to build from a release tarball.
The most recent release of libmongoc is 1.8.1 and can be . The following snippet will download and extract the driver, and configure it:
$ wget https://github.com/mongodb/mongo-c-driver/releases/download/1.8.1/mongo-c-driver-1.8.1.tar.gz$ tar xzf mongo-c-driver-1.8.1.tar.gz$ cd mongo-c-driver-1.8.1$ ./configure --disable-automatic-init-and-cleanup
亲测:
这个地址下载超慢
所以还是从 git 下载源码
Building from git
To build an unreleased version of the driver from git requires additional dependencies.
RedHat / Fedora:$ sudo yum install git gcc automake autoconf libtoolDebian / Ubuntu:$ sudo apt-get install git gcc automake autoconf libtoolFreeBSD:$ su -c 'pkg install git gcc automake autoconf libtool'
Once you have the dependencies installed, clone the repository and build the current master or a particular release tag:
$ git clone https://github.com/mongodb/mongo-c-driver.git$ cd mongo-c-driver$ git checkout x.y.z # To build a particular release$ ./autogen.sh --with-libbson=bundled$ make$ sudo make install
1.
下载 mongo-c-driver-r1.6 源码:
(GitHub驱动源码,这个 src/libbson 文件夹里面是空的,要单独下载)
下载 libbson-r1.6 源码:
2.
解压:
unzip mongo-c-driver-r1.6.zip
unzip libbson-r1.6.zip
3.
将 libbson 源码 拷贝 至 mongo-c-driver-r1.6/src/libbson 目录
4.
sudo yum install pkg-config openssl-devel cyrus-sasl-devel
./autogen.sh --with-libbson=bundled (得先安装 libtoll ,否则会报错。sudo yum install libtool*)
make
sudo make install
安装完成的库和头文件目录:
/usr/local/lib
/usr/local/include
API 用法详见:
注意:
使用库的时候报错:
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
原因:
程序按照默认共享库路径找不到该共享库文件。
解决方法:
详见: