2016-08-17 2 views
0

Я хочу использовать Unity для создания модульного тестирования на мой код C, но я получаю следующее сообщение об ошибке при компиляции:неопределенная ссылка на `UNITY_BEGIN» и „UNITY_END“

$ make 
gcc ../Unity/src/unity.o src/helpers.o src/chess.o src/search.o test/TestCheck.o src/main.o -o checkai 
src/main.o: In function `main': 
main.c:(.text+0x4b): undefined reference to `UNITY_BEGIN' 
main.c:(.text+0x55): undefined reference to `UNITY_END' 
collect2: error: ld returned 1 exit status 
make: *** [Makefile:11: checkai] Error 1 
$ make -n 
gcc ../Unity/src/unity.o src/helpers.o src/chess.o src/search.o test/TestCheck.o src/main.o -o checkai 

Мой главный functon просто выглядит следующим образом:

#include <stdio.h> 
#include <stdlib.h> 

#include "helpers.h" 
#include "chess.h" 

#include "../../Unity/src/unity.h" 
//#include "../test/TestCheck.h" 

void test_Smoke(void) { 
    TEST_ASSERT_EQUAL_INT(1, 2); 
} 

int main() { 
    version(); 

    chesspiece chessboard[8][8]; 
    initField(chessboard); 

    UNITY_BEGIN(); 
    RUN_TEST(test_Smoke, 1); 
    return UNITY_END(); 
} 

Спрятать что-то неправильно? Я уже пытался изменить порядок команды gcc, но пока ничего не помогло. Когда я прокомментирую UNITY_BEGIN и UNITY_END Я могу скомпилировать его, и тест на дым бежит без проблем.

ответ

0

Я мог бы решить эту проблему, не используя версию версии 2.1.0. Чтобы решить эту проблему, я клонировать текущий главный филиал, и он просто работал даже с UNITY_BEGIN и UNITY_END:

git clone https://github.com/ThrowTheSwitch/Unity.git