Я пытаюсь написать код для 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 довольно длинный, может отображать разделы по запросу?
Для тех, кто впервые использует Atmel Studio.
И те, кто просто забыл основы make-файлов.
Я нашел простой способ решить проблему с компоновщиком.
Произошла ошибка «неопределенная ссылка», потому что я не включил файлы GPP.cpp и GPP.h в сборку проекта.
Исправление:
1) Откройте «Обозреватель решений»
2) Щелкните правой кнопкой мыши по вашему проекту, перейдите, чтобы добавить -> существующий элемент
3) выберите файлы, которые вы включаете / файлы, относящиеся к вашей сборке проекта и нажмите
Извиняюсь за ошибочный вопрос. Кажется, простая ошибка задним числом
Других решений пока нет …