您尚未登录。

楼主 #1 2017-11-08 15:14:55

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

离线

楼主 #2 2017-11-08 15:19:13

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

软件浮点数工具链安装:

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install g++-arm-linux-gnueabi


软件硬件数(hardware float)工具链安装:

sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf

离线

楼主 #3 2017-11-08 15:19:44

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

离线

楼主 #4 2017-11-08 15:45:33

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

编译安装tslib:

配置编译Qt5.9.2

QT592_PREFIX=/usr/local/Qt592
TSLIB_PREFIX=${PWD}/../_installed/
./configure \
-confirm-license \
-prefix ${QT592_PREFIX} \
-release \
-opensource \
-static \
-no-accessibility \
-qt-zlib \
-qt-freetype \
-no-gif \
-qt-libpng \
-qt-libjpeg \
-no-openssl \
-no-cups \
-no-iconv \
-no-pch \
-no-dbus \
-platform linux-g++-64 \
-xplatform linux-arm-gnueabi-g++ \
-no-opengl \
-no-openvg \
-no-sm \
-no-fontconfig \
-no-xkb \
-no-glib \
-tslib \
-I ${TSLIB_PREFIX}/include/ \
-L ${TSLIB_PREFIX}/lib/

离线

楼主 #5 2017-11-08 16:51:52

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.9.2$ ./configure \
> -prefix ${QT592_PREFIX} \
> -release \
> -opensource \
> -static \
> -no-accessibility \
> -qt-zlib \
> -qt-freetype \
> -no-gif \
> -qt-libpng \
> -qt-libjpeg \
> -no-openssl \
> -no-cups \
> -no-iconv \
> -no-pch \
> -no-dbus \
> -platform linux-g++-64 \
> -xplatform linux-arm-gnueabi-g++ \
> -no-opengl \
> -no-openvg \
> -no-sm \
> -no-fontconfig \
> -no-xkb \
> -no-glib \
> -tslib \
> -I ${TSLIB_PREFIX}/include/ \
> -L ${TSLIB_PREFIX}/lib/
+ cd qtbase
+ /opt/qt-everywhere-opensource-src-5.9.2/qtbase/configure -top-level -prefix /usr/local/Qt592 -release -opensource -static -no-accessibility -qt-zlib -qt-freetype -no-gif -qt-libpng -qt-libjpeg -no-openssl -no-cups -no-iconv -no-pch -no-dbus -platform linux-g++-64 -xplatform linux-arm-gnueabi-g++ -no-opengl -no-openvg -no-sm -no-fontconfig -no-xkb -no-glib -tslib -I /opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/ -L /opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/
Creating qmake...
.Done.

This is the Qt Open Source Edition.

You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) version 3
or the GNU General Public License (GPL) version 2.

Type 'L' to view the GNU Lesser General Public License version 3 (LGPLv3).
Type 'G' to view the GNU General Public License version 2 (GPLv2).
Type 'y' to accept this license offer.
Type 'n' to decline this license offer.

Do you accept the terms of either license? y


Running configuration tests...
Checking for gold linker... yes
Checking for machine tuple... yes
Checking for valid makespec... yes
Checking for alloca() in alloca.h... yes
Checking for target architecture... Project ERROR: Could not determine target architecture. See config.log for details.
unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.9.2$ cat config.log
Command line: -prefix /usr/local/Qt592 -release -opensource -static -no-accessibility -qt-zlib -qt-freetype -no-gif -qt-libpng -qt-libjpeg -no-openssl -no-cups -no-iconv -no-pch -no-dbus -platform linux-g++-64 -xplatform linux-arm-gnueabi-g++ -no-opengl -no-openvg -no-sm -no-fontconfig -no-xkb -no-glib -tslib -I /opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/ -L /opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/
executing config test use_gold_linker
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests && arm-linux-gnueabi-g++ -fuse-ld=gold -o conftest-out conftest.cpp
test config.qtbase.tests.use_gold_linker succeeded
executing config test machineTuple
+ arm-linux-gnueabi-g++ -dumpmachine
> arm-linux-gnueabi
test config.qtbase.tests.machineTuple succeeded
executing config test verifyspec
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/verifyspec && /opt/qt-everywhere-opensource-src-5.9.2/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static use_gold_linker warn_off console single_arch" 'QMAKE_LIBDIR += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/' 'INCLUDEPATH += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/' -early "CONFIG += cross_compile" /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/verifyspec
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/verifyspec && MAKEFLAGS= /usr/bin/make
> arm-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -w -fPIC  -I/opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/verifyspec -I. -I/opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/ -I/opt/qt-everywhere-opensource-src-5.9.2/qtbase/mkspecs/linux-arm-gnueabi-g++ -o verifyspec.o /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/verifyspec/verifyspec.cpp
> arm-linux-gnueabi-g++ -Wl,-O1 -fuse-ld=gold -o verifyspec verifyspec.o   -L/opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/
test config.qtbase.tests.verifyspec succeeded
executing config test alloca_h
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/alloca_h && /opt/qt-everywhere-opensource-src-5.9.2/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static use_gold_linker warn_off console single_arch" 'QMAKE_LIBDIR += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/' 'INCLUDEPATH += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/' -early "CONFIG += cross_compile" /opt/qt-everywhere-opensource-src-5.9.2/config.tests/alloca_h
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/alloca_h && MAKEFLAGS= /usr/bin/make
> arm-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -w -fPIC  -I. -I/opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/ -I/opt/qt-everywhere-opensource-src-5.9.2/qtbase/mkspecs/linux-arm-gnueabi-g++ -o main.o main.cpp
> arm-linux-gnueabi-g++ -Wl,-O1 -fuse-ld=gold -o alloca_h main.o   -L/opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/
test config.qtbase.tests.alloca_h succeeded
executing config test architecture
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/arch && /opt/qt-everywhere-opensource-src-5.9.2/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static use_gold_linker warn_off console single_arch" 'QMAKE_LIBDIR += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//lib/' 'INCLUDEPATH += /opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/' -early "CONFIG += cross_compile" /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch
+ cd /opt/qt-everywhere-opensource-src-5.9.2/config.tests/arch && MAKEFLAGS= /usr/bin/make
> arm-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -w -fPIC  -I/opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch -I. -I/opt/qt-everywhere-opensource-src-5.9.2/../_installed//include/ -I/opt/qt-everywhere-opensource-src-5.9.2/qtbase/mkspecs/linux-arm-gnueabi-g++ -o arch.o /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch/arch.cpp
> In file included from /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch/../../src/corelib/global/archdetect.cpp:41:0,
>                  from /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch/arch.cpp:42:
> /opt/qt-everywhere-opensource-src-5.9.2/qtbase/config.tests/arch/../../src/corelib/global/qprocessordetection.h:149:6: 错误: #error "ARM architecture too old"
> make: *** [arch.o] 错误 1
unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.9.2$

configure出错

离线

楼主 #6 2017-11-08 16:54:08

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

找到参考网站:
Qt5.4.1移植到arm——Linuxfb篇
QT5.5移植到ARM全攻略

修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 成这样:

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib


QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE   += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a

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

QMAKE_INCDIR += /usr/local/tslib/include
QMAKE_LIBDIR += /usr/local/tslib/lib

# modifications to g++.conf
QMAKE_CC                = arm-linux-gnueabihf-gcc -lts
QMAKE_CXX               = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK              = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++ -lts

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
QMAKE_NM                = arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-linux-gnueabihf-strip
load(qt_config)

离线

楼主 #7 2017-11-08 17:24:58

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

cd quickwidgets/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.9.2/qtbase/bin/qmake -o Makefile /opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets/quickwidgets.pro ) && make -f Makefile
make[4]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets'
cd quickwidget/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.9.2/qtbase/bin/qmake -o Makefile /opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets/quickwidget/quickwidget.pro ) && make -f Makefile
make[5]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets/quickwidget'
arm-linux-gnueabi-g++ -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o quickwidget .obj/main.o .obj/fbitem.o .obj/quickwidget_plugin_import.o .obj/quickwidget_qml_plugin_import.o .obj/qrc_quickwidget.o .obj/moc_fbitem.o   -L/opt/qt-everywhere-opensource-src-5.9.2/qtbase/plugins/platforms -lqlinuxfb -L/opt/qt-everywhere-opensource-src-5.9.2/qtbase/lib -lQt5ServiceSupport -lQt5EventDispatcherSupport -lQt5FontDatabaseSupport -lqtfreetype -lQt5FbSupport -lQt5InputSupport -lQt5DeviceDiscoverySupport -L/opt/qt-everywhere-opensource-src-5.9.2/qtimageformats/plugins/imageformats -lqicns -lqtga -lqtiff -lqwbmp -lqwebp -L/opt/qt-everywhere-opensource-src-5.9.2/qtbase/plugins/imageformats -lqico -lqjpeg -L/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/plugins/qmltooling -lqmldbg_debugger -L/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/lib -lqmldbg_inspector -lqmldbg_local -lqmldbg_messages -lqmldbg_native -lqmldbg_nativedebugger -lqmldbg_profiler -lqmldbg_quickprofiler -lqmldbg_server -lQt5PacketProtocol -lqmldbg_tcp -L/opt/qt-everywhere-opensource-src-5.9.2/qtbase/plugins/bearer -lqgenericbearer -lQt5QuickWidgets -lQt5Widgets -L/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/qml/QtQuick.2 -lqtquick2plugin -lQt5Quick -lQt5Gui -lqtlibpng -lqtharfbuzz -lQt5Qml -lrt -lQt5Network -lQt5Core -lm -lqtpcre2 -ldl -lpthread
.obj/main.o:main.cpp:function void QQmlPrivate::createInto<FbItem>(void*): error: undefined reference to 'QQuickFramebufferObject::QQuickFramebufferObject(QQuickItem*)'
.obj/main.o:main.cpp:function .LTHUNK7: error: undefined reference to 'vtable for QQuickFramebufferObject'
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
.obj/main.o:main.cpp:function QQmlPrivate::QQmlElement<FbItem>::~QQmlElement(): error: undefined reference to 'vtable for QQuickFramebufferObject'
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
.obj/main.o:main.cpp:vtable for QQmlPrivate::QQmlElement<FbItem>: error: undefined reference to 'QQuickFramebufferObject::isTextureProvider() const'
.obj/main.o:main.cpp:vtable for QQmlPrivate::QQmlElement<FbItem>: error: undefined reference to 'QQuickFramebufferObject::textureProvider() const'
.obj/main.o:main.cpp:vtable for QQmlPrivate::QQmlElement<FbItem>: error: undefined reference to 'QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)'
.obj/main.o:main.cpp:vtable for QQmlPrivate::QQmlElement<FbItem>: error: undefined reference to 'QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*)'
.obj/main.o:main.cpp:vtable for QQmlPrivate::QQmlElement<FbItem>: error: undefined reference to 'QQuickFramebufferObject::releaseResources()'
.obj/moc_fbitem.o:moc_fbitem.cpp:function FbItem::qt_metacall(QMetaObject::Call, int, void**): error: undefined reference to 'QQuickFramebufferObject::qt_metacall(QMetaObject::Call, int, void**)'
.obj/moc_fbitem.o:moc_fbitem.cpp:function FbItem::qt_metacast(char const*): error: undefined reference to 'QQuickFramebufferObject::qt_metacast(char const*)'
.obj/moc_fbitem.o:moc_fbitem.cpp:function .LTHUNK2: error: undefined reference to 'vtable for QQuickFramebufferObject'
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
.obj/moc_fbitem.o:moc_fbitem.cpp:function FbItem::~FbItem(): error: undefined reference to 'vtable for QQuickFramebufferObject'
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
.obj/moc_fbitem.o:moc_fbitem.cpp:typeinfo for FbItem: error: undefined reference to 'typeinfo for QQuickFramebufferObject'
.obj/moc_fbitem.o:moc_fbitem.cpp:vtable for FbItem: error: undefined reference to 'QQuickFramebufferObject::isTextureProvider() const'
.obj/moc_fbitem.o:moc_fbitem.cpp:vtable for FbItem: error: undefined reference to 'QQuickFramebufferObject::textureProvider() const'
.obj/moc_fbitem.o:moc_fbitem.cpp:vtable for FbItem: error: undefined reference to 'QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)'
.obj/moc_fbitem.o:moc_fbitem.cpp:vtable for FbItem: error: undefined reference to 'QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*)'
.obj/moc_fbitem.o:moc_fbitem.cpp:vtable for FbItem: error: undefined reference to 'QQuickFramebufferObject::releaseResources()'
.obj/moc_fbitem.o:moc_fbitem.cpp:FbItem::staticMetaObject: error: undefined reference to 'QQuickFramebufferObject::staticMetaObject'
collect2: 错误: ld 返回 1
make[5]: *** [quickwidget] 错误 1
make[5]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets/quickwidget'
make[4]: *** [sub-quickwidget-make_first] 错误 2
make[4]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick/quickwidgets'
make[3]: *** [sub-quickwidgets-make_first] 错误 2
make[3]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples/quick'
make[2]: *** [sub-quick-make_first] 错误 2
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative/examples'
make[1]: *** [sub-examples-make_first] 错误 2
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.9.2/qtdeclarative'
make: *** [module-qtdeclarative-make_first] 错误 2
unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.9.2$

链接错误!

离线

楼主 #8 2017-11-09 12:01:14

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

被5.9.2折磨到了, 转战 5.4.1

sudo apt-get install make
sudo apt-get install g++
sudo apt-get install autoconf
sudo apt-get install m4
sudo apt-get install libtool

git clone https://github.com/kergoth/tslib.git
cd tslib
./autogen.sh
./configure --prefix=${PWD}/../_install --host=arm-linux-gnueabi
make;make install

如果出现了链接错误undefined reference to rpl_malloc,这样解决:
config.h.in里定义:

#undef malloc
#undef realloc


然后进入 qt-everywhere-opensource-src-5.4.1 执行

./configure \
        -prefix /usr/local/qt5.4.1 \
        -confirm-license \
        -opensource \
        -release  \
        -make libs \
        -xplatform linux-arm-gnueabi-g++ \
        -optimized-qmake \
        -pch \
        -qt-sql-sqlite \
        -qt-libjpeg \
        -qt-libpng \
        -qt-zlib \
        -tslib \
        -no-opengl \
        -no-sse2 \
        -no-openssl \
        -no-nis \
        -no-cups \
        -no-glib \
        -no-dbus \
        -no-xcb \
        -no-xcursor -no-xfixes -no-xrandr -no-xrender \
        -no-separate-debug-info \
        -make examples -nomake tools -nomake tests -no-iconv

make
make install

离线

楼主 #9 2017-11-09 15:15:52

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

5.4.1 也不行,卧槽:

everywhere-opensource-src-5.4.1/qtbase/include/QtCore -I.moc -I/opt/_install/include -I/opt/qt-everywhere-opensource-src-5.4.1/qtbase/mkspecs/linux-arm-gnueabi-g++ -o .obj/wtf/DateMath.o wtf/DateMath.cpp
In file included from ./wtf/unicode/Unicode.h:34:0,
                 from ./wtf/text/ASCIIFastPath.h:31,
                 from ./wtf/text/WTFString.h:28,
                 from wtf/DateMath.h:54,
                 from wtf/DateMath.cpp:73:
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isAlphanumeric(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:136:58: 错误: ‘iswalnum’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isDigit(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:137:51: 错误: ‘iswdigit’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isLetter(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:138:52: 错误: ‘iswalpha’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isLower(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:139:51: 错误: ‘iswlower’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isPrintableChar(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:140:59: 错误: ‘iswprint’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isPunct(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:141:51: 错误: ‘iswpunct’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isSpace(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:142:51: 错误: ‘iswspace’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘bool WTF::Unicode::isUpper(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:143:51: 错误: ‘iswupper’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘UChar WTF::Unicode::foldCase(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:148:51: 错误: ‘towlower’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘UChar WTF::Unicode::toLower(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:149:50: 错误: ‘towlower’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘UChar WTF::Unicode::toUpper(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:150:50: 错误: ‘towupper’在此作用域中尚未声明
./wtf/unicode/wchar/UnicodeWchar.h: 在函数‘UChar WTF::Unicode::toTitleCase(UChar)’中:
./wtf/unicode/wchar/UnicodeWchar.h:151:54: 错误: ‘towupper’在此作用域中尚未声明
In file included from ./wtf/text/ASCIIFastPath.h:31:0,
                 from ./wtf/text/WTFString.h:28,
                 from wtf/DateMath.h:54,
                 from wtf/DateMath.cpp:73:
./wtf/unicode/Unicode.h: 在全局域:
./wtf/unicode/Unicode.h:39:1: 错误: static assertion failed: UCharIsTwoBytes
make[2]: *** [.obj/wtf/DateMath.o] 错误 1
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WTF'
make[1]: *** [sub-Source-WTF-WTF-pro-make_first-ordered] 错误 2
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit'
make: *** [module-qtwebkit-make_first] 错误 2
unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.4.1$

离线

楼主 #10 2017-11-09 15:22:05

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

根据这个帖子: qt5.5.1 移植4412的问题过程
把qtwebkit/Source/WTF/wtf/unicode/wchar/UnicodeWchar.h 改成酱紫:

#ifndef ANDROID
# include <wchar.h>
// typedef wchar_t UChar;
typedef unsigned short int UChar;
#else
typedef unsigned short int UChar;
#endif

离线

楼主 #11 2017-11-09 15:23:53

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

错误仍然没有解决!!!

离线

楼主 #12 2017-11-09 16:00:47

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

继续改,改成这样:

#ifndef ANDROID
//# include <wchar.h>
// typedef wchar_t UChar;
#include <wctype.h>
typedef unsigned short int UChar;
#else
typedef unsigned short int UChar;
#endif

这次没有编译错误了,缺ruby:

cd Source/JavaScriptCore/ && ( test -e Makefile.JavaScriptCore || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore/JavaScriptCore.pro -o Makefile.JavaScriptCore ) && make -f Makefile.JavaScriptCore
make[2]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
( test -e Makefile.LLIntOffsetsExtractor || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore/LLIntOffsetsExtractor.pro -o Makefile.LLIntOffsetsExtractor ) && make -f Makefile.LLIntOffsetsExtractor
make[3]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
ruby /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb llint/LowLevelInterpreter.asm LLIntDesiredOffsets.h
make[3]: ruby:命令未找到
make[3]: *** [LLIntDesiredOffsets.h] 错误 127
make[3]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
make[2]: *** [sub-LLIntOffsetsExtractor-pro-make_first-ordered] 错误 2
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
make[1]: *** [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] 错误 2
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit'
make: *** [module-qtwebkit-make_first] 错误 2

解决方案:
sudo apt-get install ruby

离线

楼主 #13 2017-11-09 16:35:57

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

真是好事多磨,又缺gperf:

perl -ne "print " css/CSSPropertyNames.in /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/css/SVGCSSPropertyNames.in > generated/CSSPropertyNames.in && cd generated && perl -I/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/bindings/scripts /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/css/makeprop.pl --defines "LANGUAGE_JAVASCRIPT=1 ENABLE_3D_RENDERING=1 ENABLE_BLOB=1 ENABLE_CANVAS_PATH=1 ENABLE_CHANNEL_MESSAGING=1 ENABLE_CSS_BOX_DECORATION_BREAK=1 ENABLE_CSS_COMPOSITING=1 ENABLE_CSS_EXCLUSIONS=1 ENABLE_CSS_FILTERS=1 ENABLE_CSS_IMAGE_SET=1 ENABLE_CSS_REGIONS=1 ENABLE_CSS_SHAPES=1 ENABLE_CSS_STICKY_POSITION=1 ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 ENABLE_DATALIST_ELEMENT=1 ENABLE_DETAILS_ELEMENT=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_DOWNLOAD_ATTRIBUTE=1 ENABLE_FAST_MOBILE_SCROLLING=1 ENABLE_FILTERS=1 ENABLE_FTPDIR=1 ENABLE_FULLSCREEN_API=1 ENABLE_GEOLOCATION=1 ENABLE_GESTURE_EVENTS=1 ENABLE_ICONDATABASE=1 ENABLE_IFRAME_SEAMLESS=1 ENABLE_INDEXED_DATABASE=1 ENABLE_INPUT_TYPE_COLOR=1 ENABLE_INSPECTOR=1 ENABLE_INSPECTOR_SERVER=1 ENABLE_JAVASCRIPT_DEBUGGER=1 ENABLE_LEGACY_NOTIFICATIONS=1 ENABLE_LEGACY_VIEWPORT_ADAPTION=1 ENABLE_LEGACY_VENDOR_PREFIXES=1 ENABLE_LEGACY_WEB_AUDIO=1 ENABLE_LINK_PREFETCH=1 ENABLE_METER_ELEMENT=1 ENABLE_MHTML=1 ENABLE_NOTIFICATIONS=1 ENABLE_ORIENTATION_EVENTS=1 ENABLE_PAGE_VISIBILITY_API=1 ENABLE_PROGRESS_ELEMENT=1 ENABLE_RESOLUTION_MEDIA_QUERY=1 ENABLE_REQUEST_ANIMATION_FRAME=1 ENABLE_SHARED_WORKERS=1 ENABLE_SMOOTH_SCROLLING=1 ENABLE_SQL_DATABASE=1 ENABLE_SUBPIXEL_LAYOUT=1 ENABLE_SVG=1 ENABLE_SVG_FONTS=1 ENABLE_TOUCH_ADJUSTMENT=1 ENABLE_TOUCH_EVENTS=1 ENABLE_VIDEO_TRACK=1 ENABLE_VIEW_MODE_CSS_MEDIA=1 ENABLE_WEB_SOCKETS=1 ENABLE_WEB_TIMING=1 ENABLE_WORKERS=1 ENABLE_XHR_TIMEOUT=1 ENABLE_VIDEO=1 ENABLE_GAMEPAD=1 ENABLE_TOUCH_SLIDER=1" --preprocessor "/opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/moc -E" css/CSSPropertyNames.in && rm -f CSSPropertyNames.in CSSPropertyNames.gperf
sh: 1: gperf: not found
calling gperf failed: 32512 at /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/css/makeprop.pl line 259.
make[3]: *** [generated/CSSPropertyNames.cpp] 错误 25
make[3]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore'
make[2]: *** [sub-DerivedSources-pri-make_first-ordered] 错误 2
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore'
make[1]: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] 错误 2
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit'
make: *** [module-qtwebkit-make_first] 错误 2

解决方案:
sudo apt-get install gperf

离线

楼主 #14 2017-11-09 16:50:04

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

有错可以一次报完吗?

Can't exec "bison": 没有那个文件或目录 at /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/css/makegrammar.pl line 76.
Died at /opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore/css/makegrammar.pl line 84.
make[3]: *** [generated/CSSGrammar.cpp] 错误 2
make[3]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore'
make[2]: *** [sub-DerivedSources-pri-make_first-ordered] 错误 2
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/WebCore'
make[1]: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] 错误 2
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebkit'
make: *** [module-qtwebkit-make_first] 错误 2

解决方案:
sudo apt-get install bison

离线

楼主 #15 2017-11-09 17:24:34

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上

Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.
QtWebEngine will not be built.
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebengine'
make[1]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebengine'
make[1]: 没有什么可以做的为 `first'。
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtwebengine'
cd qttranslations/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qttranslations/qttranslations.pro -o Makefile ) && make -f Makefile
make[1]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations'
/opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake -o Makefile qttranslations.pro
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations'
make[1]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations'
cd translations/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qttranslations/translations/translations.pro -o Makefile ) && make -f Makefile
make[2]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations/translations'
/opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake -o Makefile translations.pro
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations/translations'
make[2]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations/translations'
make[2]: 没有什么可以做的为 `first'。
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations/translations'
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qttranslations'
cd qtdoc/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qtdoc/qtdoc.pro -o Makefile ) && make -f Makefile
make[1]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc'
/opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake -o Makefile qtdoc.pro
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc'
make[1]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc'
cd doc/ && ( test -e Makefile || /opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake /opt/qt-everywhere-opensource-src-5.4.1/qtdoc/doc/doc.pro -o Makefile ) && make -f Makefile
make[2]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc/doc'
/opt/qt-everywhere-opensource-src-5.4.1/qtbase/bin/qmake -o Makefile doc.pro
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc/doc'
make[2]: 正在进入目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc/doc'
make[2]: 没有什么可以做的为 `first'。
make[2]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc/doc'
make[1]:正在离开目录 `/opt/qt-everywhere-opensource-src-5.4.1/qtdoc'
unroot@ubuntu:/opt/qt-everywhere-opensource-src-5.4.1$

终于编译完成!

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn