IT干货网

c之Libbson 和 MongoDB-C 驱动编译

softidea 2025年02月15日 编程设计 547 0

我想安装 MongoDB-C 驱动程序的新更新,但似乎在包含先前安装在目录“/usr/local/”中的 libbson 库 (#include <bson.h>) 时,编译在逻辑上会阻塞。

如何正确“链接”我的库以便同时使用这两个 #include <bson.h>#include <mongoc.h>

请您参考如下方法:

libmongoclibbson 现在都是基于automake 的项目(./configure、make、make install)。他们还安装了 pkg-config *.pc 文件,这些文件可用于使用 pkg-config 程序发现库安装和 header 路径。如果您已安装到/usr/local,您可能需要设置 PKG_CONFIG_PATH=/usr/local/lib/pkg-config(或 lib64),具体取决于您的系统是否自动包含该路径。

针对它们构建的一个简单方法是:

    gcc $(pkg-config --cflags --libs libmongoc-1.0) myfile.c 

如果您在 Makefile 中,则需要先 shell out。使用 GNU make 时,我通常会这样做:

LIBS := $(shell pkg-config --libs libmongoc-1.0) 
CFLAGS := $(shell pkg-config --cflags libmongoc-1.0) 
DEBUG := -ggdb 
OPTS := -O2 
WARNINGS := -Wall -Werror 
 
%.o: %.c %.h 
    $(CC) -o $@ -c $(DEBUG) $(WARNINGS) $(OPTS) $(CFLAGS) $*.c 
 
myprog: myprog.o 
    $(CC) -o $@ $(DEBUG) $(WARNINGS) $(OPTS) $(LIBS) myprog.o 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!