• 5349阅读
  • 0回复

【提问】如此奇怪的问题,大家有不遇到? [复制链接]

上一主题 下一主题
离线naohu1010
 

只看楼主 倒序阅读 楼主  发表于: 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呢?请教大家如何解决?
[ 此贴被XChinux在2005-12-24 18:08重新编辑 ]
快速回复
限100 字节
 
上一个 下一个