zheng501gf 发表于 2011-4-19 17:57:31

QTE4.5应用程序开发-错误!求解!

我的开发环境是:fedora10,TQ2440板子上的系统是QT4.5的,现在用QT4.5做了一个程序,编译通过,可是在板子运行时老出错,运行到: alt_str = this->alt_position();时程序停止,也没有什么错误提示!部分代码如下:总代码见附件!
void MainWindow::GpsDisplay()
{
    QString alt_str;
    QString lon_str;
    QString u_date;
    QString u_time;
    qDebug() << "4";

    if(open)
    {
      qDebug() << "11";
      alt_str = this->alt_position();
      qDebug() << "alt_str11: " << alt_str;
      ui->lineEdit->setText(alt_str);
      qDebug() << "5";
      ui->lineEdit_2->setText(lon_position(lon_str));
      qDebug() << "6";
      ui->lineEdit_3->setText(UTCdate(u_date));
      qDebug() << "7";
      ui->lineEdit_4->setText(UTCtime(u_time));
      qDebug() << "8";
      if(Gps_list.contains("A"))
            ui->lineEdit_6->setText("A");
    }
    Gps_list.clear();
}


zheng501gf 发表于 2011-4-20 10:01:55

附件少个资源文件,现已将添加,见附件!

zheng501gf 发表于 2011-4-21 13:23:55

问题已解决!

天嵌_support1 发表于 2011-4-21 18:51:43

恭喜网友。
可以的话讲你的解决分享给大家

zheng501gf 发表于 2011-4-28 16:01:30

一:QString::number()
使用该函数进行浮点数转换成字符串时,在ARM上运行时程序会死掉。
解决办法是用:sprintf()函数:如下
char buf;
sprintf(buf,"%f",float);
lineedit->setText(buf);
二:赋值
如果把一个整型的变量赋值给浮点型变量,在ARM上运行时程序会死掉。
解决办法是:在进行赋值前进行强制类型转换。
三:浮点数运算
如: int i = 1234;
      double d;
      d = i / 1000;
正常结果应是:d = 1.234;但是在ARM上运行到d = i/1000时程序会死掉。
因为i/1000的结果是个整数1,把整行量赋值给浮点量会死掉。就是第二条中的赋值。


这是这两天写程序遇到的问题总结和大家分享一下,有不正确的地方望指教~!!

天嵌_support1 发表于 2011-4-29 13:40:49

:)顶

vodomine 发表于 2011-9-16 15:10:53

天嵌编译的Qt-4.5不支持浮点数,需要自己重新编译,在configure中去掉armfpa选项即可,使用qt自己的浮点库,不适用arm的,因为arm的没有浮点支持

zhanzhp 发表于 2012-8-24 13:59:23

vodomine 发表于 2011-9-16 15:10 static/image/common/back.gif
天嵌编译的Qt-4.5不支持浮点数,需要自己重新编译,在configure中去掉armfpa选项即可,使用qt自己的浮点库, ...

最后你是这样支持浮点数?
页: [1]
查看完整版本: QTE4.5应用程序开发-错误!求解!