Ошибка компоновщика с Unity (платформа модульного тестирования C)
Я замусорил через Stackru, пытаясь связать фреймворк модульного тестирования Unity (https://www.throwtheswitch.org/unity) и построить его на CMAKE, чтобы я мог писать модульные тесты, но продолжаю сталкиваться с той же ошибкой:
Undefined symbols for architecture x86_64:
"_setUp", referenced from:
_UnityDefaultTestRun in libunity.a(unity.c.o)
"_tearDown", referenced from:
_UnityDefaultTestRun in libunity.a(unity.c.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/test_problem2_59.exe] Error 1
make[1]: *** [tests/CMakeFiles/test_problem2_59.exe.dir/al
Я задокументировал свою последнюю попытку здесь https://github.com/aamarin/computer_systems/tree/dev, причем последняя фиксация является нестабильной. Я не уверен, что еще мне не хватает в computer_systems/tests/CMakeLists.txt, чтобы это работало. Просто ищу руководство и, возможно, объяснение, которое мне может не хватать здесь https://gitlab.com/CLIUtils/modern-cmake/-/blob/master/examples/extended-project/src/CMakeLists.txt. Также полезно руководство по улучшению структуры моей структуры папок.
1 ответ
Просто добавьте пустые функции с именем setUp
а также teadDown
. UnityGettingStartedGuide.