c语言 - 运行样品 CMocka 测试时的"undefined reference to `_cmocka_run_group_tests'"



我安装了CMocka测试框架并尝试了示例代码:

#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h>
/* A test case that does nothing and succeeds. */
static void null_test_success(void **state) {
    (void) state; /* unused */
}
int main(void) {
    const struct CMUnitTest tests[] = {
            cmocka_unit_test(null_test_success),
    };
    return cmocka_run_group_tests(tests, NULL, NULL);
}

但是当我尝试编译时,出现以下错误:

$ gcc -o Tests tests.c
    /tmp/ccbwAXrr.o: In function `main':
    tests.c:(.text+0x5e): undefined reference to `_cmocka_run_group_tests'
    collect2: error: ld returned 1 exit status

我错过了什么?

包括头文件提供函数的前向声明。要获取函数定义,您需要链接到库。

您可以将-l选项与gcc一起使用,以链接到所需的 libarary。您可能还需要使用-L选项来提供库的路径。

相关内容

  • 没有找到相关文章

最新更新