我正在尝试使用Atmel Studio 7为ATxmega16E5编写代码。 我在论坛上进行了长时间的搜索,并且无法对其他类似于我自己的问题的建议进行改编。 (很多建议表明要更改编译选项,我不知道如何在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_H
class GPP
{
public:
GPP();
//~GPP();
void setPowerPin();
void screenOn();
void SPI_Init();
void SPI_SendNext();
void displayLogo();
};
#endif
任何帮助都可以帮助我增加对cpp的理解。 我以前用c和java编码。
Atmel Makefile很长,可以根据要求显示部分吗?
答案 0 :(得分:0)
首次使用Atmel Studio的任何人。 而那些简单地忘记了makefile的基础知识的人。
我找到了解决链接器问题的简单方法。
错误'未定义的引用'之所以发生,是因为我没有在项目构建中包含GPP.cpp和GPP.h文件。
修复: 1)打开"解决方案资源管理器"
2)右键单击您的项目,转到添加 - >现有项目
3)选择您所包含的文件/与项目构建相关的文件,然后单击
对误入歧途的问题道歉。事后看来似乎是一个简单的错误