• linux安装mongo-c-driver


    yum install mongo-c-driver

    sudo yum install cmake openssl-devel cyrus-sasl-devel

    $ wget https://github.com/mongodb/mongo-c-driver/releases/download/ 1.17.0 / mongo-c-driver-1.17.0.tar.gz
    $ tar xzf mongo-c-driver-1.17.0.tar.gz
    $ cd mongo-c-driver-1.17.0
    $ mkdir cmake-build
    $ cd cmake-build
    $ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..

    -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF建议使用该选项,请参阅初始化和清除。
    另一个有用的cmake选项是-DCMAKE_BUILD_TYPE=Release针对发行版优化的构建和-DCMAKE_BUILD_TYPE=Debug调试的构建。
    有关所有配置选项的列表,请运行。cmake -L ..

    如果cmake成功完成,您将看到大量的输出描述您的构建配置。输出的最后一行应如下所示:

    -构建文件已写入:/home/user/mongo-c-driver-1.17.0/cmake-build

    如果您的系统尚未安装libbson,则mongo-c-driver包含libbson的副本。该配置将检测是否未安装libbson并使用捆绑的libbson。

    此外,可以通过设置以下-DENABLE_MONGOC=OFF选项来仅构建libbson :

    $ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DENABLE_MONGOC=OFF ..

    构建:

    cmake --build .
    $ sudo cmake --build . --target install

    安装Sphinx pip install -U Sphinx ,然后:

    $ cmake -DENABLE_MAN_PAGES=ON -DENABLE_HTML_DOCS=ON ..
    $ cmake --build . --target mongoc-doc
    要仅构建libbson文档:

    $ cmake -DENABLE_MAN_PAGES=ON -DENABLE_HTML_DOCS=ON ..
    $ cmake --build . --target bson-doc
    该-DENABLE_MAN_PAGES=ON并且-DENABLE_HTML_DOCS=ON还可以添加从发行tar包或混帐,使得文档的同时其它部件内置选项,以正常体形。

    卸载已安装组件: sudo /usr/local/share/mongo-c-driver/uninstall.sh

    gcc -o hello_mongoc hello_mongoc.c -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 -lmongoc-1.0 -lbson-1.0
    ./hello_mongoc
    { "ok" : 1.000000 }

    =========================================================================================================

    libmongoc安装包含CMake配置文件包,因此您可以使用CMake的find_package命令导入libmongoc的CMake目标并链接到libmongoc(作为共享库):

    的CMakeLists.txt
    # Specify the minimum version you require.
    find_package (mongoc-1.0 1.7 REQUIRED)

    # The "hello_mongoc.c" sample program is shared among four tests.
    add_executable (hello_mongoc ../../hello_mongoc.c)
    target_link_libraries (hello_mongoc PRIVATE mongo::mongoc_shared)
    您还可以将libmongoc用作静态库:使用mongo::mongoc_staticCMake目标:

    # Specify the minimum version you require.
    find_package (mongoc-1.0 1.7 REQUIRED)

    # The "hello_mongoc.c" sample program is shared among four tests.
    add_executable (hello_mongoc ../../hello_mongoc.c)
    target_link_libraries (hello_mongoc PRIVATE mongo::mongoc_static)
    pkg-
    如果您不使用CMake,请在命令行上使用pkg-config设置标头和库路径:

    gcc -o hello_mongoc hello_mongoc.c $(pkg-config --libs --cflags libmongoc-1.0)
    或静态链接到libmongoc:

    gcc -o hello_mongoc hello_mongoc.c $(pkg-config --libs --cflags libmongoc-static-1.0)
    指定标题并手动包含路径
    如果您不使用CMake或pkg-config,则可以手动管理路径和库。

    $ gcc -o hello_mongoc hello_mongoc.c
    -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0
    -lmongoc-1.0 -lbson-1.0
    $ ./hello_mongoc
    { "ok" : 1.000000 }

  • 相关阅读:
    perl文本输出对齐
    putty配色方案
    java线程 同步与异步 线程池
    android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面
    真正能获得基站LBS定位的android程序包括GSM、CDMA
    Android之TelephonyManager&GsmCellLocation类的方法详解
    网络编程之同步,阻塞,异步,非阻塞
    Android私有文件资源文件的存取
    [转]android 获取手机GSM/CDMA信号信息
    json格式转换
  • 原文地址:https://www.cnblogs.com/lyt-666/p/13634458.html
Copyright © 2020-2023  润新知