Я хочу создать модульные тесты для проекта Visual С++. Я пробовал следовать этим инструкциям MSDN. Я нашел страницы, где они различают неуправляемый/смешанный/чистый код, но я не совсем понимаю эти понятия. Мой код не использует .NET и, скорее всего, скомпилируется под MinGW с несколькими настройками кода.
Мой главный проект создает исполняемый файл, поэтому я выполнил действия, указанные в разделе "Ссылка на экспортированные функции из тестового проекта". Для начала я получил разные варианты проекта:
Я пошел с Native Unit Test Project. Я добавил ссылку на мой основной проект, и я установил Include Directoryories в $(SolutionDir)\Cubes;$(IncludePath)
. Я написал свой код и получил это при компиляции:
1>Creating library C:\Users\Pieter\Dropbox\Unief\TTUI\TTUIproject\Cubes\Debug\CubesTest.lib and object C:\Users\Pieter\Dropbox\Unief\TTUI\TTUIproject\Cubes\Debug\CubesTest.exp
1>LayoutTest.obj : error LNK2019: unresolved external symbol "public: __thiscall Room::Room(void)" ([email protected]@[email protected]) referenced in function "public: void __thiscall CubesTest::LayoutTest::NumOfRoomsConsistency(void)" ([email protected]@[email protected]@QAEXXZ)
1>LayoutTest.obj : error LNK2019: unresolved external symbol "public: __thiscall Layout::Layout(class Room *,int)" ([email protected]@[email protected]@@[email protected]) referenced in function "public: void __thiscall CubesTest::LayoutTest::NumOfRoomsConsistency(void)" ([email protected]@[email protected]@QAEXXZ)
1>LayoutTest.obj : error LNK2019: unresolved external symbol "public: void __thiscall Layout::add(int,int,class Room *)" ([email protected]@@[email protected]@@Z) referenced in function "public: void __thiscall CubesTest::LayoutTest::NumOfRoomsConsistency(void)" ([email protected]@[email protected]@QAEXXZ)
1>LayoutTest.obj : error LNK2019: unresolved external symbol "public: void __thiscall Layout::clear(int,int,bool)" ([email protected]@@[email protected]) referenced in function [email protected]@[email protected]@QAEXXZ$0
1>C:\Users\Pieter\Dropbox\Unief\TTUI\TTUIproject\Cubes\Debug\CubesTest.dll : fatal error LNK1120: 4 unresolved externals
Если я не ошибаюсь, это означает, что компилятор находит файлы заголовков, но не исходные файлы. Что мне не хватает?