我如何在我的项目中使用cmockery

时间:2013-10-29 11:05:39

标签: c cmockery

我正在寻找一种用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和calculater_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

我想我用链接器弄乱了,但我找不到应该如何正确地完成它。

1 个答案:

答案 0 :(得分:1)

您遗失-lcmockery

gcc -o run *.o -L /usr/local/lib/ -lcmockery