我安装了 CMocka testing framework 并尝试了 sample code :
#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
链接到所需的库。您可能还需要使用 -L
选项来提供库的路径。
关于c - "undefined reference to ` _cmocka_run_group_tests '"运行样本 CMocka 测试时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29945791/