编译 C 程序时缺少 header <fluent-bit.h>

Missing header <fluent-bit.h> while compiling C program

我正在尝试使用 fluent-bit 的库 Api 编译我的 C 程序,但是缺少 header fluent-bit.h,我不明白为什么。

我使用安装 guide

安装了 fluent-bit

这是我要测试的代码:

#include <fluent-bit.h>

int main()
{
    int i;
    int n;
    char tmp[256];
    flb_ctx_t *ctx;
    int in_ffd;
    int out_ffd;

    /* Initialize library */
    ctx = flb_create();
    if (!ctx) {
        exit(EXIT_FAILURE);
    }

    in_ffd = flb_input(ctx, "lib", NULL);
    flb_input_set(ctx, in_ffd, "tag", "test", NULL);

    out_ffd = flb_output(ctx, "stdout", NULL);
    flb_output_set(ctx, out_ffd, "match", "test", NULL);

    /* Start the background worker */
    flb_start(ctx);

    /* Push some data */
    for (i = 0; i < 100; i++) {
        n = snprintf(tmp, sizeof(tmp) - 1,
                     "[%f, {\"key\": \"val %i\"}]",
                     flb_time_now(), i);
        flb_lib_push(ctx, in_ffd, tmp, n);
    }
    flb_stop(ctx);

    /* Release Resources */
    flb_destroy(ctx);

    return 0;
}

这是我得到的错误:

hello.c:1:24: fatal error: fluent-bit.h: No such file or directory
 #include <fluent-bit.h>
                        ^
compilation terminated.

问题已解决,我没有正确安装 fluent-bit 和 headers。 问题出在这里:headers 不见了,所以继续 cd /path/to/downloaded/fluent-bit-x.y.z/includes

然后使用

sudo cmake .
sudo make install

您会得到一个输出,表明 headers 已安装在您的系统上。

确保 fluent-bit 也已正确安装:

cd ..
sudo cmake .
sudo make install

您现在可以毫无问题地使用 fluent-bit API