1

私は CUnit を初めて使用します。サンプル コードを実行して、CUnit が機能するかどうかをテストしようとしています。私は3つのファイルを持っています。

最大時

    #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;
    }

そして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-declaration] if (CUE_SUCCESS != CU_inizialize_registry())
  • (エラー) ld: アーキテクチャ x86_64 のシンボルが見つかりません

何が問題なのCU_inizialize_registryですか? 理解できません。私たちを手伝ってくれますか?ありがとう

詳細: MacOS 10.12.3、Eclipse、cunit 2.1-3

4

1 に答える 1