gpt4 book ai didi

linux - MongoDB C 驱动程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:30 26 4
gpt4 key购买 nike

我成功编译了 MongoDB C 驱动程序并运行了测试脚本,但我无法编译我自己编写的脚本。

以下是命令及其错误输出。

$ gcc -Isrc --std=c99 ./src/*.c -I ./src/ tutorial.c -o tutorial -D_POSIX_C_SOURCE=200112L

./src/env_win32.c:27:53: fatal error: ws2tcpip.h: No such file or directory
compilation terminated.

我发现/usr/include目录下没有文件名ws2tcpip.h

最佳答案

取出 ./src/*.c,它告诉 gcc 编译/src 目录中的所有 c 程序,其中包括一些仅适用于 Windows 的程序。

对我有用的是告诉 gcc 包含构建驱动程序时构建的 libmongoc.so

以下命令对我有用。我的驱动程序在目录“mongo-c-driver”中。

gcc --std=c99 -I mongo-c-driver/src -o tutorial tutorial.c mongo-c-driver/libmongoc.so

在我看来,mongodb C API 文档在这方面存在一些问题。此外,最新的头文件与教程中显示的源代码不匹配。例如 mongo-insert 在 v0.6 headers 中需要 4 个参数,但教程只显示了 2 个参数。

在研究这个问题并尝试通过自己安装 mongoDB 和 C 驱动程序来重新创建它时,我发现驱动程序的 v0.6 通过添加对 write_concern 的支持破坏了与以前版本 API 的兼容性它将第四个参数添加到 mongo_insert 函数(可以设置为 null)。 docs/examples 目录中提供的example.c 程序在v0.6 中无法编译。此错误记录在补丁 CDRIVER-157 中在 github 中的 c-driver .

关于linux - MongoDB C 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com