Ошибка ссылки примера CppUtest - PullRequest
0 голосов
/ 23 июля 2011
--------------------Configuration: AllTests - Win32 Debug--------------------
Linking...
AllTests.obj : error LNK2001: unresolved external symbol "int externTestGroupMockDocumentation" (?externTestGroupMockDocumentation@@3HA)
AllTests.obj : error LNK2001: unresolved external symbol "int externTestGroupEventDispatcher" (?externTestGroupEventDispatcher@@3HA)
Debug/AllTests.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

AllTests.exe - 3 error(s), 0 warning(s)

Почему я получаю эти ошибки и как их устранить?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2014

интересно, справился ли ты с этой проблемой,
Я сталкиваюсь с той же проблемой, хотя у меня

IMPORT_TEST_GROUP(my_test_group);  

в AllTests.cpp и правильное определение

TEST_GROUP(my_test_group) {};  

в my_test.cpp согласно совету мистера Греннинга.

Обратите внимание, что я смог его скомпилировать, применив одно из следующих решений:

1- Добавьте файл cpp, содержащий определение функции, в проект UnitTest. Или ..
2- Наличие определения функции в заголовочном файле (типично, если ваша функция является шаблоном)

Я не знаю , является ли одно или любое из предложений верным (поэтому пока не требуют ответа), однако я упоминаю мой обходной путь здесь в надежде, что другие могут найти его полезным.

N.B. У меня CppUTest-3.6 настроен с Visual Studio 2010 в соответствии с "D: \ cpputest-3.6 \ docsWalkThrough_VS21010.docx"

Hasan

0 голосов
/ 23 июля 2011

Есть ли у вас эти строки в вашем AllTests.cpp?

IMPORT_TEST_GROUP(MockDocumentation)
IMPORT_TEST_GROUP(EventDispatcher)

Если вы это сделаете, вам также нужно определить следующие тестовые группы в вашей сборке:

TEST_GROUP(MockDocumentation)
TEST_GROUP(EventDispatcher)

Джеймс

...