我是CUnit的新手,我正在尝试运行一个示例代码来测试CUnit是否有效。
我有三份文件。
最大小时

    #ifndef MAX_H_
    #define MAX_H_

    extern int maxi(int, int);

    #endif /* MAX_H_ */

最大c
    #include "max.h"

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

并测试最大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_日化注册表'的隐式声明在C99中无效
[-Wimplicit函数声明]
如果成功了!=对注册表进行日化处理()
(错误)ld:找不到架构x86_64的符号
CU_inizialize_registry怎么了?我不明白。
你能帮我吗?
谢谢
更多信息:
MacOS 10.12.3、Eclipse、cunit 2.1-3

最佳答案

CU_initialize_registry而不是CU_iniZialize_registry(t而不是z)呢?

10-08 09:09