0

我一直在寻找一种使用 c 代码创建模拟对象的方法,直到我偶然发现了 cmockery。对我来说,它似乎是最好的模拟软件,因为它没有很多依赖项。

我在 ubuntu 工作并从https://code.google.com/p/cmockery/downloads/list下载了 tarball cmockery

我运行了 ./configure、make 和 make install。

我能够执行给定的示例,但我无法弄清楚如何让它在我自己的项目中运行。我查看了 configure 和 makefile 以尝试找出他们是如何做到的,但这没有成功。我认为这是导致我的问题的链接。

cmockery 的文件可以在以下位置找到:

/usr/local/include/google/cmockery.h
/usr/local/lib/libcmockery.la
/usr/local/lib/libcmockery.a
/usr/local/lib/libcmockery.so.0.0.0
/usr/local/lib/libcmockery.so.0
/usr/local/lib/libcmockery.so

我尝试将示例文件calculator.c 和calculator_test.c 复制到一个单独的目录并在那里编译它们。这就是我所做的:

gcc -c -o calculator.o calculator.c 
gcc -c -o calculator_test.o calculator_test.c -I /usr/local/include/google/
gcc -o run *.o -L /usr/local/lib/

在最后一步,我得到了很多未定义的对特定于 cmockery 的所有函数的引用和错误:

collect2: error: ld returned 1 exit status

我想我把链接器搞砸了,但我找不到任何地方应该如何正确地完成它。

4

1 回答 1

1

你失踪了-lcmockery

gcc -o run *.o -L /usr/local/lib/ -lcmockery
于 2013-10-29T11:30:58.193 回答