motkot
@motkot
Программирование C#.

Ошибка unresolved external symbol с конструктором/деструктором в классе?

Вылезли две ошибки при попытке запуска:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2019	unresolved external symbol "public: __cdecl JazzyEcs::EcsSystems::EcsSystems(struct JazzyEcs::EcsWorld *)" (??0EcsSystems@JazzyEcs@@QEAA@PEAUEcsWorld@1@@Z) referenced in function main

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2019	unresolved external symbol "public: __cdecl JazzyEcs::EcsSystems::~EcsSystems(void)" (??1EcsSystems@JazzyEcs@@QEAA@XZ) referenced in function main


Попробовала удалить деструктор и одна из ошибок иcчезла:

class EcsSystems {
	public:
		EcsSystems(EcsWorld* world);
		//~EcsSystems(void);
};


.cpp фаил:

EcsSystems::EcsSystems(EcsWorld* world) : _world(world) {
		
	}
//EcsSystems::~EcsSystems() {

//}


main.cpp фаил:

JazzyEcs::EcsWorld world;

JazzyEcs::EcsSystems initSystems(&world);


world:

struct EcsWorld
{
	int count;
};
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Как компилируете-то? Пока похоже, что вы пытаетесь собрать исполнительный файл прямо из main.cpp, где через include обхявлен класс, но определение все лежит в другом модуле трансляции, который вообще в команде не учавствует.

Или пользуйтесь системой сборки (cmake, visual studio, ninja, и т.д...) или вручную запускайте 3 команды: сделать объектник из main.cpp, сдлеать объектник из EcsSystems.cpp, собрать из объектников исполняемый файл.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы