& quot; неопределенная ссылка на ‘operator new (unsigned int)’ и неопределенная ссылка на функции класса (и конструктор)

Я пытаюсь написать код для ATxmega16E5, используя Atmel Studio 7.
У меня был долгий поиск по форумам, и я не могу придумать ни одного другого предложения, которое похоже на мою собственную проблему.
(Многие предложения указывают на изменение параметров компиляции, которые я не знаю, как это сделать в Atmel Studio).

По сути, я включил свой класс GPP.h
НО, когда я пытаюсь создать экземпляр класса в main.cpp, он возвращается как серия неопределенных ссылок на все функции, включая конструктор.

РЕДАКТИРОВАТЬ: Уменьшено количество включенного кода, чтобы сосредоточиться на основных проблемах, под рукой,
в основном, файлы не связаны между собой.

main.cpp:

//INCLUDES
#include "GPP.h"
//MAIN FUNCTION
int main()
{

GPP *gpp = new GPP();

//Turn on system power
gpp->setPowerPin();
gpp->screenOn();

// ...etc (just makes some function calls

// ...
while(1);
}

GPP.h:

#ifndef GPOWERPACK_H
#define GPOWERPACK_Hclass GPP
{
public:

GPP();
//~GPP();

void setPowerPin();
void screenOn();
void SPI_Init();
void SPI_SendNext();
void displayLogo();
};
#endif

Любая помощь была бы фантастической, чтобы помочь мне лучше понять cpp.
Я закодировал в C и Java ранее.

Atmel Makefile довольно длинный, может отображать разделы по запросу?

0

Решение

Для тех, кто впервые использует Atmel Studio.
И те, кто просто забыл основы make-файлов.

Я нашел простой способ решить проблему с компоновщиком.

Произошла ошибка «неопределенная ссылка», потому что я не включил файлы GPP.cpp и GPP.h в сборку проекта.

Исправление:
1) Откройте «Обозреватель решений»

2) Щелкните правой кнопкой мыши по вашему проекту, перейдите, чтобы добавить -> существующий элемент

3) выберите файлы, которые вы включаете / файлы, относящиеся к вашей сборке проекта и нажмите

Извиняюсь за ошибочный вопрос. Кажется, простая ошибка задним числом

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector