Unit test'ы MSVS C++ 2005 TeamSuite
От: ksanet  
Дата: 29.10.08 15:57
Оценка:
Убил полдня драгоценного времени на поиски и без результатов
Есть проблема: создаем к примеру консольный проект в студии (на с++) с помощью визарда. Все настройки оставляем по умолчанию. Добавляем класс, например А, опять же визардом. Далее создаем проект Test -> UnitTest. Так добавляем тесты для методов класса А. Так вот, если метод реализован inline прямо в хидере — все нормально, но если реализацию перенести в .cpp файл, сразу возникает ошибка линковки при билде проекта с тестами:

Linking...
UnitTest1.obj : error LNK2028: unresolved token (0A00000D) "public: __thiscall CBase::~CBase(void)" (??1CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2028: unresolved token (0A00000E) "public: __thiscall CBase::CBase(void)" (??0CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2019: unresolved external symbol "public: __thiscall CBase::~CBase(void)" (??1CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2019: unresolved external symbol

в общем не видит реализации он. Настройки опций компиляции (/clr) и референсов не помогают. Не получается не для .exe проектов, не для .dll
В чем секрет? почему последовательность прямых (очевидных) действий не дает результатов?

Может кто-то сталкивался с проблемой или у кого-то есть простенький работающий пример на эту тему? В аналах микрософт есть только примеры для шарпа и то не полные
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.