使用Eclipse + AVR插件做Arduino开发,新建一个类,编写头文件和cpp文件,编译后,报错
undefined reference to `operator delete(void*, unsigned int)'
没有定义delete操作符。
据说是没有与标准库链接,则必须提供自己的运算符new和delete,不知道怎么和标准库链接,先自行实现一个new和delete操作符了
void * operator new(size_t n)
{
void * const p = malloc(n);
// handle p == 0
return p;
}
void operator delete(void * p, size_t n) // or delete(void *, std::size_t)
{
free(p);
}
编译通过!
后面还是要研究一下Eclipse CDT + AVR插件怎么和标准库链接。