У меня есть решение VC++ с двумя проектами. Проект B ссылается на проект A. Проект B также имеет в качестве каталога включения (Свойства/Свойства конфигурации/C++/Дополнительные каталоги включения) папку из проекта A. Пространства имен не используются.
Когда я импортирую заголовок из класса Project A, такого как #include "someFolder\SomeClass.h"
, я могу объявить указатель на класс.
SomeClass *sc;
Но как только я вызову конструктор, он не скомпилируется. IntelliSense не показывает никаких ошибок.
SomeClass *sc = new SomeClass("someString");
Я получил:
ошибка LNK2001: "неразрешенный внешний символ" public_thiscall SomeClass::SomeClass(..." и "ошибка LNK1120: 1 неразрешенный внешний символ".
Конструктор является общедоступным, как и методы из SomeClass. Самое смешное, что у меня компилируется при вызове методов из SomeClass в Project B. Только cunstructor вроде не работает.