1BSON_INCLUDE_AND_LINK(3)            Libbson           BSON_INCLUDE_AND_LINK(3)
2
3
4

NAME

6       bson_include_and_link - Using libbson In Your C Program
7

INCLUDE BSON.H

9       All  libbson's  functions  and  types are available in one header file.
10       Simply include bson.h: hello_bson.c.INDENT 0.0
11
12          #include <stdio.h>
13          #include <bson/bson.h>
14
15          int
16          main (int argc, const char **argv)
17          {
18             bson_t *b;
19             char *j;
20
21             b = BCON_NEW ("hello", BCON_UTF8 ("bson!"));
22             j = bson_as_canonical_extended_json (b, NULL);
23             printf ("%s\n", j);
24
25             bson_free (j);
26             bson_destroy (b);
27
28             return 0;
29          }
30
31

CMAKE

33       The libbson installation includes a CMake config-file package,  so  you
34       can  use  CMake's  find_package  command  to  find libbson's header and
35       library paths and link to libbson: CMakeLists.txt.INDENT 0.0
36
37          # Specify the minimum version you require.
38          find_package (libbson-1.0 1.7 REQUIRED)
39
40          message ("--   libbson found version \"${BSON_VERSION}\"")
41          message ("--   libbson include path \"${BSON_INCLUDE_DIRS}\"")
42          message ("--   libbson libraries \"${BSON_LIBRARIES}\"")
43
44          # The "hello_bson.c" sample program is shared among four tests.
45          add_executable (hello_bson ../../hello_bson.c)
46          target_include_directories (hello_bson PRIVATE ${BSON_INCLUDE_DIRS})
47          target_link_libraries (hello_bson PRIVATE ${BSON_LIBRARIES})
48          target_compile_definitions (hello_bson PRIVATE ${BSON_DEFINITIONS})
49
50
51By default, libbson is dynamically linked. You can use  libbson  as  a  static
52library  instead:  Use the included libbson-static-1.0 config-file package and
53(on Unix) link to pthread:
54
55          # Specify the minimum version you require.
56          find_package (libbson-static-1.0 1.7 REQUIRED)
57
58          message ("--   libbson-static found version \"${BSON_STATIC_VERSION}\"")
59          message ("--   libbson-static include path \"${BSON_STATIC_INCLUDE_DIRS}\"")
60          message ("--   libbson-static libraries \"${BSON_STATIC_LIBRARIES}\"")
61
62          # The "hello_bson.c" sample program is shared among four tests.
63          add_executable (hello_bson ../../hello_bson.c)
64          target_include_directories (hello_bson PRIVATE ${BSON_STATIC_INCLUDE_DIRS})
65          target_link_libraries (hello_bson PRIVATE ${BSON_STATIC_LIBRARIES})
66          target_compile_definitions (hello_bson PRIVATE ${BSON_STATIC_DEFINITIONS})
67
68

PKG-CONFIG

70       If you're not using CMake, use pkg-config on the command  line  to  set
71       header and library paths:
72
73          gcc -o hello_bson hello_bson.c $(pkg-config --libs --cflags libbson-1.0)
74
75
76       Or to statically link to libbson:
77
78          gcc -o hello_bson hello_bson.c $(pkg-config --libs --cflags libbson-static-1.0)
79
80

AUTHOR

82       MongoDB, Inc
83
85       2017-present, MongoDB, Inc
86
87
88
89
901.13.1                           Jan 24, 2019         BSON_INCLUDE_AND_LINK(3)
Impressum