1.missing braces around initializer
发生在结构体中多维或多个数组初始化的时候,其错误发生的原因是没有用大括号明确的区分出初始化数据的归类
如:
EXMATRIX_INCHAN_PARA inChanPara[MAX_SUPPORT_EXMATRIXIN_NUM] = {0};
EXMATRIX_INCHAN_PARA是自定义结构体;
这样对结构体初始化0,是不对的;要用memset
2.undefined reference to vtable for
这个问题通常是,类中有虚函数时,声明和实现有问题
虚函数格式:
class <类名>
{
virtual <类型><函数名>(<参数表>);
…
};
在基类中被声明为virtual,并在
派生类
中重新定义的成员函数,可实现成员函数的动态
重载
(基类中需要实现)
纯
虚函数
是一种特殊的虚函数,它的一般格式如下:
class <类名>
{
virtual <类型><函数名>(<参数表>)=0;
…
};
在许多情况下,在
基类
中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的
派生类
去做(基类中不需要实现)
3.undefined reference to `__fpclassify'
这是一个已知的bug,更新gtk-gnutella包可以解决。当然,你还要确保gcc使用了-lm选项来引入math库。