查看完整版本: [-- qt5.10交叉编译到aarch64平台,make时报错 --]

QTCN开发网 -> Qt嵌入式开发 -> qt5.10交叉编译到aarch64平台,make时报错 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

qianpeicong 2019-01-31 22:10

qt5.10交叉编译到aarch64平台,make时报错

configure通过,但是make时报错未定义的引用,
以下是我的autoconfigure.sh
  1. #!/bin/sh  
    ./configure -prefix /home/msi/arm/qt5100_64/qt_sdk \
    -v \
    -opensource \
    -release \
    -confirm-license \
    -xplatform linux-arm-gnueabi-g++ \
    -shared \
    -qt-zlib \
    -qt-libjpeg \
    -qt-libpng \
    -make libs \
    -no-cups \
    -no-iconv \
    -no-pch \
    -no-opengl \
    -opengl es2 \
    -no-openssl \
    -no-use-gold-linker \
    -nomake examples \
    -I /home/msi/pi/rootfs/usr/include \
    -L /home/msi/pi/rootfs/usr/lib \
    -sysroot /home/msi/pi/rootfs

qmake.conf:
  1. #
    # qmake configuration for building with arm-linux-gnueabi-g++
    #

    MAKEFILE_GENERATOR      = UNIX
    CONFIG                 += incremental
    QMAKE_INCREMENTAL_STYLE = sublib


    QMAKE_INCDIR_POST += \
        $[QT_SYSROOT]/usr/include \
        $[QT_SYSROOT]/usr/include/aarch64-linux-gnu

    QMAKE_LIBDIR_POST += \
        $[QT_SYSROOT]/usr/lib \
        $[QT_SYSROOT]/lib/aarch64-linux-gnu \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu

    QMAKE_RPATHLINKDIR_POST += \
        $[QT_SYSROOT]/usr/lib \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra \
        $[QT_SYSROOT]/lib/aarch64-linux-gnu
        
    QMAKE_INCDIR_OPENGL[_ES2] += \
        $[QT_SYSROOT]/include \
        $[QT_SYSROOT]/include/EGL \
        $[QT_SYSROOT]/include/GLES2 \
        $[QT_SYSROOT]/include/GLES3 \
        $[QT_SYSROOT]/include/KHR \
        $[QT_SYSROOT]/usr/include \
        $[QT_SYSROOT]/usr/include/EGL \
        $[QT_SYSROOT]/usr/include/GLES2 \
        $[QT_SYSROOT]/usr/include/GLES3 \
        $[QT_SYSROOT]/usr/include/KHR

    QMAKE_LIBDIR_OPENGL[_ES2] += \
        $[QT_SYSROOT]/lib/aarch64-linux-gnu/mesa-egl \
        $[QT_SYSROOT]/lib/aarch64-linux-gnu/tegra-egl \
        $[QT_SYSROOT]/lib/aarch64-linux-gnu   \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/mesa-egl \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra-egl \
        $[QT_SYSROOT]/usr/lib/aarch64-linux-gnu

    QMAKE_LIBS_OPENGL[_ES2] += -lEGL -lGLESv2


    include(../common/linux.conf)
    include(../common/gcc-base-unix.conf)
    include(../common/g++-unix.conf)

    # modifications to g++.conf
    QMAKE_CC                = aarch64-linux-gnu-gcc
    QMAKE_CXX               = aarch64-linux-gnu-g++
    QMAKE_LINK              = aarch64-linux-gnu-g++
    QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++

    # modifications to linux.conf
    QMAKE_AR                = aarch64-linux-gnu-ar cqs
    QMAKE_OBJCOPY           = aarch64-linux-gnu-objcopy
    QMAKE_NM                = aarch64-linux-gnu-nm -P
    QMAKE_STRIP             = aarch64-linux-gnu-strip
    load(qt_config)
make时候报错如下:
  1. qhttpnetworkreply.cpp:(.text+0xbc8):对‘z_inflateEnd’未定义的引用
    .obj/qhttpnetworkreply.o:在函数‘QHttpNetworkReplyPrivate::initializeInflateStream()’中:
    qhttpnetworkreply.cpp:(.text+0x1058):对‘z_inflateInit2_’未定义的引用
    .obj/qhttpnetworkreply.o:在函数‘QHttpNetworkReplyPrivate::clearHttpLayerInformation()’中:
    qhttpnetworkreply.cpp:(.text+0x18bc):对‘z_inflateEnd’未定义的引用
    .obj/qhttpnetworkreply.o:在函数‘QHttpNetworkReplyPrivate::uncompressBodyData(QByteDataBuffer*, QByteDataBuffer*)’中:
    qhttpnetworkreply.cpp:(.text+0x33fc):对‘z_inflate’未定义的引用
    qhttpnetworkreply.cpp:(.text+0x3418):对‘z_inflateEnd’未定义的引用
    qhttpnetworkreply.cpp:(.text+0x3440):对‘z_inflateInit2_’未定义的引用
    .obj/qnetworkcookie.o:在函数‘QNetworkCookiePrivate::parseSetCookieHeaderLine(QByteArray const&)’中:
    qnetworkcookie.cpp:(.text+0x2e6c):对‘QDateTime::QDateTime(QDateTime&&)’未定义的引用
    qnetworkcookie.cpp:(.text+0x34ac):对‘QDateTime::fromSecsSinceEpoch(long long, Qt::TimeSpec, int)’未定义的引用
    .obj/qnetworkreply.o:(.data.rel.ro._ZTV20QNetworkReplyPrivate[_ZTV20QNetworkReplyPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qnetworkreplyimpl.o:(.data.rel.ro._ZTV24QNetworkReplyImplPrivate[_ZTV24QNetworkReplyImplPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qnetworkreplydataimpl.o:(.data.rel.ro._ZTV28QNetworkReplyDataImplPrivate[_ZTV28QNetworkReplyDataImplPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qnetworkreplyhttpimpl.o:在函数‘QNetworkReplyHttpImplPrivate::loadFromCacheIfAllowed(QHttpNetworkRequest&)’中:
    qnetworkreplyhttpimpl.cpp:(.text+0x5dd0):对‘QDateTime::toSecsSinceEpoch() const’未定义的引用
    qnetworkreplyhttpimpl.cpp:(.text+0x5ddc):对‘QDateTime::toSecsSinceEpoch() const’未定义的引用
    .obj/qnetworkreplyhttpimpl.o:(.data.rel.ro._ZTV28QNetworkReplyHttpImplPrivate[_ZTV28QNetworkReplyHttpImplPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qnetworkreplyfileimpl.o:(.data.rel.ro._ZTV28QNetworkReplyFileImplPrivate[_ZTV28QNetworkReplyFileImplPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qhttpmultipart.o:在函数‘QHttpMultiPartPrivate::QHttpMultiPartPrivate()’中:
    qhttpmultipart.cpp:(.text+0x424):对‘QRandomGenerator64::global()’未定义的引用
    qhttpmultipart.cpp:(.text+0x430):对‘QRandomGenerator::_fillRange(void*, void*)’未定义的引用
    .obj/qnetworkdiskcache.o:在函数‘QNetworkDiskCache::expire()’中:
    qnetworkdiskcache.cpp:(.text+0x22a8):对‘QFileInfo::fileTime(QFileDevice::FileTime) const’未定义的引用
    qnetworkdiskcache.cpp:(.text+0x2424):对‘QFileInfo::fileTime(QFileDevice::FileTime) const’未定义的引用
    .obj/qnetworkdiskcache.o:在函数‘QNetworkDiskCachePrivate::storeItem(QCacheItem*)’中:
    qnetworkdiskcache.cpp:(.text+0x39b8):对‘QTemporaryFile::rename(QString const&)’未定义的引用
    .obj/qauthenticator.o:在函数‘QAuthenticatorPrivate::QAuthenticatorPrivate()’中:
    qauthenticator.cpp:(.text+0x5a0):对‘QRandomGenerator64::system()’未定义的引用
    qauthenticator.cpp:(.text+0x5ac):对‘QRandomGenerator::_fillRange(void*, void*)’未定义的引用
    .obj/qauthenticator.o:在函数‘QAuthenticatorPrivate::calculateResponse(QByteArray const&, QByteArray const&)’中:
    qauthenticator.cpp:(.text+0x6004):对‘QDateTime::currentSecsSinceEpoch()’未定义的引用
    .obj/qdnslookup.o:在函数‘QDnsLookupRunnable::run()’中:
    qdnslookup.cpp:(.text+0x270c):对‘QRandomGenerator64::global()’未定义的引用
    qdnslookup.cpp:(.text+0x2724):对‘QRandomGenerator::_fillRange(void*, void*)’未定义的引用
    qdnslookup.cpp:(.text+0x2a5c):对‘QRandomGenerator64::global()’未定义的引用
    qdnslookup.cpp:(.text+0x2a70):对‘QRandomGenerator::_fillRange(void*, void*)’未定义的引用
    .obj/qabstractsocket.o:在函数‘QAbstractSocketPrivate::flush()’中:
    qabstractsocket.cpp:(.text+0xa0):对‘QIODevicePrivate::allWriteBuffersEmpty() const’未定义的引用
    .obj/qabstractsocket.o:在函数‘QAbstractSocket::disconnectFromHost()’中:
    qabstractsocket.cpp:(.text+0xa4c):对‘QIODevicePrivate::allWriteBuffersEmpty() const’未定义的引用
    .obj/qabstractsocket.o:(.data.rel.ro._ZTV22QAbstractSocketPrivate[_ZTV22QAbstractSocketPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qtcpsocket.o:(.data.rel.ro._ZTV17QTcpSocketPrivate[_ZTV17QTcpSocketPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qudpsocket.o:(.data.rel.ro._ZTV17QUdpSocketPrivate[_ZTV17QUdpSocketPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    .obj/qlocalsocket_unix.o:(.data.rel.ro._ZTV19QLocalSocketPrivate[_ZTV19QLocalSocketPrivate]+0x38):对‘QIODevicePrivate::skip(long long)’未定义的引用
    collect2: error: ld returned 1 exit status
    Makefile:508: recipe for target '../../lib/libQt5Network.so.5.10.1' failed
    make[3]: *** [../../lib/libQt5Network.so.5.10.1] Error 1
    make[3]: Leaving directory '/home/msi/qt-everywhere-src-5.10.1/qtbase/src/network'
    Makefile:276: recipe for target 'sub-network-make_first' failed
    make[2]: *** [sub-network-make_first] Error 2
    make[2]: Leaving directory '/home/msi/qt-everywhere-src-5.10.1/qtbase/src'
    Makefile:48: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/msi/qt-everywhere-src-5.10.1/qtbase'
    Makefile:83: recipe for target 'module-qtbase-make_first' failed
    make: *** [module-qtbase-make_first] Error 2
还请各位大佬指点迷津。






查看完整版本: [-- qt5.10交叉编译到aarch64平台,make时报错 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled