我想安装MongoDB驱动程序的新更新,但是似乎编译逻辑上会阻塞,同时包含以前安装在目录"/usr/local/“中的libbson库(#include <bson.h>)。
如何正确地链接我的库以便同时使用#include <bson.h>和#include <mongoc.h>?
发布于 2014-01-23 19:08:55
libmongoc和libbson现在都是基于自动化的项目(./configure,make,make )。此外,他们还安装了pkg-config *.pc文件,这些文件可用于使用pkg-config程序发现库安装和头路径。如果安装到/usr/local,则可能需要设置pkg_config_ path =/usr/lib/pkg-config(或lib64),这取决于系统是否自动包含该路径。
对付它们的一个简单方法是:
gcc $(pkg-config --cflags --libs libmongoc-1.0) myfile.c如果您在Makefile中,则需要先进行打包。当使用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.ohttps://stackoverflow.com/questions/20600602
复制相似问题