我一直在寻找一种使用C代码创建模拟对象的方法,直到偶然发现cmockery为止。
对我来说,它似乎是最好的模拟软件,因为它没有太多的依赖关系。
我在ubuntu工作,并从https://code.google.com/p/cmockery/downloads/list下载了tarball cmockery
我运行./configure,进行安装。
我能够执行给定的示例,但是我无法弄清楚如何使其在我自己的项目中运行。我看了一下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
我想我把链接器弄乱了,但是我找不到任何应该如何正确完成的地方。
最佳答案
您缺少-lcmockery
:
gcc -o run *.o -L /usr/local/lib/ -lcmockery
关于c - 我如何在项目中使用cmockery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19656480/