写了一个TCP接收图片并显示图片和相关信息的程序,在我的机器上运行没有问题,windows+Qt4.4。在没有安装Qt环境的windows电脑上会有两个地方出错。
出错部分的代码如下:
void PlatePicView::refreshPicAndInfo()
{
    //更新图片
    QPixmap picPixmap;
    qDebug()<<"picBlock size:"<<picBlock.size();
    bool ret = picPixmap.loadFromData(picBlock, "JPEG");
    if(!ret)
    {
        qDebug()<<"loadFromData failed";
    }
    imageLabel->setPixmap(picPixmap);
    imageLabel->adjustSize();
    //更新信息
    model->insertRow(0);
    model->setData(model->index(0, 0), QDateTime::currentDateTime (), Qt::DisplayRole);
    QTextCodec* gbk_codec = QTextCodec::codecForName("GBK");
    if(gbk_codec==0)
    {
        qDebug()<<"codec failed";
        return;
    }
    model->setData(model->index(0, 1), gbk_codec->toUnicode(&plateInfo.license[0]), Qt::DisplayRole);
}
问题1:
loadFromData返回总是0
问题2:
gbk_codec总是返回0
我不清楚是不是在windows下面缺了Qt的插件库,造成这样的问题,是否需要qcncodecs4.dll和qjpeg4.dll这两个库文件?我把库文件放在程序目录没有效果.还有就是,大家采用什么方法在windows下面debug的.有没有可以打印出错原因的通用方法.