mongo.h:没有这样的文件或目录

时间:2014-03-08 14:41:37

标签: mongodb gcc mongo-c-driver

我从官方网站上获得了mongo-c-driver,如下所示:

$git https://github.com/mongodb/mongo-c-driver.git
$cd mongo-c-driver
$./autogen.sh
$ make
$ sudo make install
Deal.c:2:19: fatal error: mongo.h: No such file or directory

但是,当我运行名为“Deal.c”的C文件时,如下所示:

gcc -o Deal Deal.c -l /usr/local/include -L /usr/local/lib -lmongoc
Error:#include "mongo.h"
                     ^ compilation terminated.

我的系统版本:是Ubuntu 13.10

1 个答案:

答案 0 :(得分:8)

您似乎缺少标题的路径以及库的位置。一种选择是安装到您的平台使用的相同前缀,例如:

./configure --prefix=/usr --libdir=/usr/lib64

如果这不是一个选项,那么您可以更新您的Makefile以包含正确的库并包含路径:

gcc Deal.c -L/usr/local/lib -I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0 -lmongoc-1.0 -lbson-1.0

这通常会在类似Unix的系统上使用pkg-config自动完成:

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

但是,如果您安装到非标准路径(例如/ usr / local),则需要让pkg-config知道在哪里找到libmongoc-1.0.pc文件,例如:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gcc Deal.c $(pkg-config --cflags --libs libmongoc-1.0)