编译嵌入式qt-everywhere-opensource-src-4.7.2.tar.gz, 使用-debug没问题, 使用-release, 例子里面的basicdrawing会发生bus error 错误:
*******************
Cpu0[basicdrawing:1013:0x2bbca740:0x7ff38b64] no fix-ups.
Bus error
*******************
经过定位,发现是下面的语句导致的:
void RenderArea::setAntialiased(bool antialiased)
{
this->antialiased = antialiased; /*导致bus error*/
update();
}
注释掉这句,就没事. 打印this->antialiased的值,也没事, this->antialiased=0赋值,就会bus error, 按理说这是个字节类型,不会有对齐问题,况且没有指针的强制转换,编译器应该能正确处理.
CPU是MIPS.
有没有哪位高手知道原因?