加载共享库时出错:libcmocka.so.0:没有这样的文件或目录

Abh*_*ngh 6 c unit-testing

#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 UnitTest tests[] = {
        unit_test(null_test_success),
    };
    return run_tests(tests);
}
Run Code Online (Sandbox Code Playgroud)

我是cmocka单元测试框架的新手,http://www.ohloh.net/p/cmocka.当我将上述程序编译为gcc program.c -lcmocka时,当我运行./a.out时出现错误:

./a.out:error加载共享库时:libcmocka.so.0:无法打开共享对象文件:没有这样的文件或目录

我试过但无法修复它.究竟是什么问题?

小智 0

这个错误意味着程序加载器找不到cmocka共享库文件。您需要将共享库(例如 libmocka.so.x)所在的目录添加到文件“/etc/ld.so.conf”中。将其包含在 LD_LIBRARY_PATH 变量中也可以。

实际上,最好将库(共享和静态)安装到“标准”文件夹,例如 /usr/lib 或 /usr/local/lib ,除非您有某些特定原因不这样做。