Недавно я обновился до 2012 года с 2005 года (я уверен) и столкнулся с ошибками ссылок при создании моего решения. У меня не хватало идей после нескольких часов поиска google и потасовки. Я создал десятки проектов, поэтому я уверен, что я сделал все правильно, но, честно говоря, прошло несколько лет.
Итак, в качестве теста я создал новый проект. Я назвал это приложение, приложение Windows (.exe). Я создал второй проект под названием Core и пометил его как статическую библиотеку (.lib) в нем Тип конфигурации. Оба являются частью решения. В Core я добавил Test.cpp и Test.h, которые содержат небольшой класс, который имеет в нем простую функцию. Затем внутри окна Windows WinMain.cpp файла у меня есть WinMain(), где я вызываю этот тестовый класс с помощью теста CTest; test.Result();
Наряду с этим я установил, что Project App Dependencies проекта Core, и, наконец, добавил в App Additional Include Directories путь к базовому коду, где test.cpp/.h live.
Я получаю следующие ошибки ссылок и не могу для жизни понять, почему. Кто-нибудь знает, какой шаг я мог пропустить или что изменилось в 2012 году с предыдущих версий? Большое спасибо за помощь!
1>------ Build started: Project: App, Configuration: Debug Win32 ------
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::CTest(void)" ([email protected]@[email protected]) referenced in function [email protected]
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::~CTest(void)" ([email protected]@[email protected]) referenced in function [email protected]
1>WinMain.obj : error LNK2019: unresolved external symbol "public: int __thiscall CTest::Result(void)" ([email protected]@@QAEHXZ) referenced in function [email protected]
1>D:\Work\Test_Linker_Stupidity\App\Debug\App.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========