我是关于mongoc的绿色手。我的mongo-c-driver是1.6.3,我想对mongodb数据库做一些操作,比如创建,更新,插入和删除。但是存在如下所示的问题。我的eclipse CDT包含头文件(路径:/ usr / local / include),但IDE仍无法找到它们:
unresolved inclusion:<mongoc.h>
有人可以给我一些建议吗?
我手动安装了mongo-c-driver,没有使用包管理器。
答案 0 :(得分:2)
命令pkg-config
输出一个标志来搜索标题所在的路径(不确定您必须提供的库名称:请与您的软件包管理器联系):
$ pkg-config --cflags libmongoc
-I/usr/local/include/libmongoc-1.0/
如果使用gcc,则编译行必须如下所示:
gcc `pkg-config --cflags libmongoc` file.c
如果您使用IDE,请找到为编译提供此功能的方法。这是最好的方法,因为如果您更新库,或者如果您将项目提供给具有不同文件头的人,则您的项目将继续正确编译。
因为您手动安装了库,所以必须
libmongoc.pc
文件安装到正确的位置(man pkg-config
以获取更多信息); gcc -I/usr/local/include/libmongoc-1.0 file.c
。给编译器的语法-I/some/path
意味着:在这个地方搜索头文件。相应地在IDE中修改项目配置。答案 1 :(得分:1)
包含文件位于&#34; /usr/local/include/libmongoc-1.0 /"但是你已经告诉Eclipse要查看&#34; / usr / local / include /&#34;,所以很自然它找不到它。
您可以添加&#34; /usr/local/include/libmongoc-1.0 /"作为包含路径或将您包含的内容更改为<libmongoc-1.0/mongoc.h>
。前者可能是更明智的选择,因为它将来比你所做的所有地方更容易改变包含路径。
答案 2 :(得分:-1)
谢天谢地!我已经解决了。无论你在哪里配置mongo-c-driver,比如/ usr,/ usr / local,或/ usr / local / xxx(任何名字),都可以发现mongoc.h和其他头文件都在libmongoc下 - 1.0文件夹,你应该从libmongoc-1.0文件夹和include文件夹下复制所有头文件(xxxx.h),这样就可以了。祝所有遇到同样问题的人好运。