CUnit:未定义对`CU_assertImplementation'的引用

时间:2014-06-08 23:02:17

标签: c cunit

使用以下方法编译它: cc -o test testtest.c -lcunit ,但仍然无法正确运行测试。他们因某些原因崩溃了:)

我正在开展一个项目,最近我确信自己应该继续采用测试驱动的方法。主要是因为项目本身正在增长,我想证明所有功能都有效。

但是我在做一个cunit教程时碰到了一些问题。 http://cunit.sourceforge.net/doc/writing_tests.html

这是我的cunit测试文件:

#include <CUnit/CUnit.h>

main(){
    test_maxi();
}

int maxi(int i1, int i2){
      return (i1 > i2) ? i1 : i2;
}

void test_maxi(void){
  CU_ASSERT(maxi(0,2) == 2);
  CU_ASSERT(maxi(0,-2) == 0);
  CU_ASSERT(maxi(2,2) == 2);
 }

我在尝试编译时遇到这些错误:

  

testtest.c :(。text + 0x62):未定义引用   CU_assertImplementation' testtest.c:(.text+0x9b): undefined reference to CU_assertImplementation&#39; testtest.c :(。text + 0xd5):undefined   参考`CU_assertImplementation&#39; collect2:ld返回1退出   状态

我使用谷歌,我觉得它有链接的东西吗?但我没有得到很多帮助。

最诚挚的问候 里卡德

1 个答案:

答案 0 :(得分:1)

OP解决方案。

使用以下方法编译它:

gcc -Wall -o test basicexample.c -lcunit