Ошибка CUnit: неявное объявление функции 'CU_inizialize_registry'

Я новичок в CUnit, я пытаюсь запустить пример кода, чтобы проверить, работает ли CUnit. У меня есть три файла.

max.h

    #ifndef MAX_H_
    #define MAX_H_

    extern int maxi(int, int);

    #endif /* MAX_H_ */

max.c

    #include "max.h"

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

И Test_max.c

    #include <stdio.h>
    #include <CUnit/CUnit.h>
    #include <CUnit/Basic.h>

    #include "max.h"

    int init_suite(void)
    {
        return 0;
    }

    int clean_suite(void)
    {
        return 0;
    }

    void testMax(void)
    {
        CU_ASSERT(maxi(1,2) == 2);
        CU_ASSERT(maxi(3,2) == 3);
        CU_ASSERT(maxi(2,4) == 4);
    }

    int main()
    {
        CU_pSuite pSuite = NULL;

        if (CUE_SUCCESS != CU_inizialize_registry())
            return CU_get_error();

        pSuite = CU_add_suite("Suite di prova", init_suite, clean_suite);
        if (NULL == pSuite)
        {
            CU_cleanup_registry();
            return CU_get_error();
        }

        if (NULL == CU_add_test(pSuite, "Test max", testMax))
        {
            CU_cleanup_registry();
            return CU_get_error();
        }

        CU_basic_set_mode(CU_BRM_VERBOSE);
        CU_basic_run_tests();
        CU_cleanup_registry();
        return CU_get_error();
    }

Когда я строю, я получаю предупреждение и ошибку:

  • (предупреждение) предупреждение: неявное объявление функции 'CU_inizialize_registry' недопустимо в C99 [-Wimplicit-function-объявление] if (CUE_SUCCESS! = CU_inizialize_registry ())
  • (ошибка) ld: символ (ы) не найден для архитектуры x86_64

Что случилось с CU_inizialize_registry? Я не понимаю. Не могли бы вы помочь мне? Спасибо

Дополнительная информация: MacOS 10.12.3, Eclipse, cunit 2.1-3

1 ответ

Решение

И что насчет CU_initialize_registry вместо CU_iniZialize_registry (т вместо г)?

Другие вопросы по тегам