+ -
当前位置:首页 → 问答吧 → 【讨论】大家遇到这样的怪问题吗?

【讨论】大家遇到这样的怪问题吗?

时间:2005-12-24

来源:互联网

我在编译qtopia-free-2.1.1时如下操作:
[root@liu qpe2.1.1]# pwd
/home/liu/embedsys/target-qt/qpe2.1.1
[root@liu qpe2.1.1]# export QTDIR=/home/liu/embedsys/host-qt/qt-embedded-free-3.3.5
[root@liu qpe2.1.1]# export QPEDIR=$PWD
[root@liu qpe2.1.1]# export LD_LIBRARY_PATH=$QPEDIR/lib
[root@liu qpe2.1.1]# ./configure -xplatform linux-arm-g++
Expecting Qt/Embedded to be at least version 2.3.9,
found only version 0.0.0, aborting configure.
[root@liu qpe2.1.1]#
我的QTE明明是3.3.5这个版本,QPE却检查出是0.0.0,大家有没遇到如此奇怪的问题?


然后我打开configure文件,发现有:
[root@liu qpe2.1.1]# vi configure
# Check Qt/Embedded version
if ( $opt_qtopia ) {
    debugMsg("Validating Qt/Embedded version";
    my $qglobalFile = "$QTDIR/include/qglobal.h";
    if (!open( QTVERSIONFILE, "<$qglobalFile" )) {
        die <<END;
Your QTDIR environment variable does not seem to point to a
valid Qt/Embedded, aborting configure.
END
    } else {
        while ( defined($_ = <QTVERSIONFILE> ) {
            if ( /QT_VERSION\s+(\d)(\d)(\d+)/ ){
                $qteMajorVersion=$1;
                $qteMinorVersion=$2;
                $qteRevVersion=$3;
                $qteVersionStr="$qteMajorVersion.$qteMinorVersion.$qteRevVersion";
                last;
            }
        }
        close( QTVERSIONFILE );
        $minqteVersion =~ /(\d+)\.(\d+)\.(\d+)/;
        my $minqteMajorVersion=$1;
        my $minqteMinorVersion=$2;
        my $minqteRevVersion=$3;
        my $ok = 0;
        if ( $qteMajorVersion > $minqteMajorVersion ||
             ( $qteMajorVersion == $minqteMajorVersion &&
               ( $qteMinorVersion > $minqteMinorVersion ||
                 ( $qteMinorVersion == $minqteMinorVersion &&
                   $qteRevVersion >= $minqteRevVersion ) ) ) ) {
            $ok = 1j;
        }
        if ( !$ok ) {
            die <<END;
Expecting Qt/Embedded to be at least version $minqteVersion,
found only version $qteVersionStr, aborting configure.
END
        }
    }

    debugMsg("Validating Qt/Embedded config";
    my $buildoptsFile = "$QTDIR/.buildopts";
    if ( ! -f "$QTDIR/LICENSE.TROLL" ) {
        open(BUILDOPTS, "<$buildoptsFile" or die "Can't open build options file ($buildoptsFile).\n".
                                                  "Did you configure Qt/Embedded?\n";
        my @buildopts = <BUILDOPTS>;
        close(BUILDOPTS);
        if ( grep( /QT_NO_IMAGEIO_JPEG/, @buildopts ) ) {
            die <<END;
Qtopia requires JPEG support but Qt/Embedded is not configured with JPEG
support. Please reconfigure Qt/Embedded.
END
        }
    }
}
从上面可以看出,显示QPE去检查$QTDIR/include/qglobal.h
我又打开这个文件,显示:
#ifndef QGLOBAL_H
#define QGLOBAL_H
                                                                                       
#define QT_VERSION_STR   "3.3.5"
/*
   QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
#define QT_VERSION 0x030305

显然QPE检查不对,大家有不遇到这种情况?这是不是QPE的一个bug呢?请教大家如何解决?      

作者: naohu1010   发布时间: 2005-12-24

不幸,我也遇到这个问题了      

作者: zerttao   发布时间: 2007-06-04

热门下载

更多