WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 161

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

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

离线

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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 161

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

离线

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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 161

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

错误仍然没有解决!!!

离线

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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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

沉鱼
Administrator
注册时间: 2017-09-06
累计积分: 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$

终于编译完成!

离线

#16 2017-12-16 00:14:42

Dillon
会员
注册时间: 2017-12-15
累计积分: 4

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

请问这个平台能把opengl编进去吗?

离线

#17 2017-12-16 08:14:09

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,528

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

Dillon 说:

请问这个平台能把opengl编进去吗?

V3s没有GPU,也不支持opengl吧,确定这样做有意义?

离线

#18 2017-12-16 09:32:18

Dillon
会员
注册时间: 2017-12-15
累计积分: 4

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

晕哥 说:
Dillon 说:

请问这个平台能把opengl编进去吗?

V3s没有GPU,也不支持opengl吧,确定这样做有意义?

有个软件,用到了opengl,我在树莓派上能运行,就想要是能在荔枝派上运行就好了

离线

#19 2017-12-16 09:36:00

daydayup
会员
注册时间: 2017-10-09
累计积分: 294

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

Dillon 说:
晕哥 说:
Dillon 说:

请问这个平台能把opengl编进去吗?

V3s没有GPU,也不支持opengl吧,确定这样做有意义?

有个软件,用到了opengl,我在树莓派上能运行,就想要是能在荔枝派上运行就好了

那你用buildroot试一试, 详情参考 入坑教程

离线

#20 2018-10-28 13:14:50

cityf
会员
注册时间: 2017-11-03
累计积分: 129

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

不错,收藏收藏.

最近编辑记录 cityf (2018-10-28 13:15:08)

离线

#21 2018-11-07 15:22:06

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

/home/zhang/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore//libJavaScriptCore.a(/home/zhang/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore//.obj/runtime/JSArray.o):JSArray.cpp:function JSC::JSArray::push(JSC::ExecState*, JSC::JSValue): error: undefined reference to 'void JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes<(unsigned char)20>(JSC::ExecState*, unsigned int, JSC::JSValue)'
collect2: error: ld returned 1 exit status
Makefile.jsc:98: recipe for target '../../bin/jsc' failed
make[3]: *** [../../bin/jsc] Error 1
make[3]: Leaving directory '/home/zhang/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
Makefile.JavaScriptCore:126: recipe for target 'sub-jsc-pro-make_first-ordered' failed
make[2]: *** [sub-jsc-pro-make_first-ordered] Error 2
make[2]: Leaving directory '/home/zhang/qt-everywhere-opensource-src-5.4.1/qtwebkit/Source/JavaScriptCore'
Makefile:93: recipe for target 'sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered' failed
make[1]: *** [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] Error 2
make[1]: Leaving directory '/home/zhang/qt-everywhere-opensource-src-5.4.1/qtwebkit'
Makefile:485: recipe for target 'module-qtwebkit-make_first' failed
make: *** [module-qtwebkit-make_first] Error 2

在ubuntu上编译QT5.4.1,有人出现过这种错误吗?

离线

#22 2018-11-08 20:49:29

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

我在v3S板子上能运行QT自带的example例程,但是我在ubuntu上用QT creator添加kit套件的时候提示我QT没被安装
_20181108174510_20181108-0748.png
这是交叉编译失败了?

离线

#23 2018-11-08 21:31:10

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,528

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

可能目录的文件不完整.

离线

#24 2018-11-08 22:01:01

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

晕哥 说:

可能目录的文件不完整.

qmake可以用,但是搜索不到套件kit...

离线

#25 2018-11-08 22:10:01

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

605364021 说:
晕哥 说:

可能目录的文件不完整.

qmake可以用,但是套件kit中搜索不到设备......

离线

#26 2018-11-08 22:37:20

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,528

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

鼠标移到22楼红色按钮,看提示什么

离线

#27 2018-11-09 10:10:41

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

晕哥 说:

鼠标移到22楼红色按钮,看提示什么

图1
_20181108174510.png
图2
_20181109100746.jpg
图1是教程的qt creator配置,图二是我的配置,我的QT version可以匹配到qmake,但是设备这栏找不到arm v7

离线

#28 2018-11-09 10:22:24

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,528

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

我刚刚试了一下, 设备那里是可以自己添加的, 估计图1就是自己加的 arm v7

离线

#29 2018-11-09 11:05:58

605364021
会员
注册时间: 2018-10-23
累计积分: 239

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

晕哥 说:

我刚刚试了一下, 设备那里是可以自己添加的, 估计图1就是自己加的 arm v7

我想编译一个可以在v3s板子上运行的qt程序,知道怎么设置吗?

离线

#30 2018-11-09 11:09:21

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,528

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

605364021 说:
晕哥 说:

我刚刚试了一下, 设备那里是可以自己添加的, 估计图1就是自己加的 arm v7

我想编译一个可以在v3s板子上运行的qt程序,知道怎么设置吗?

建议先用命令行熟悉一下:
https://whycan.cn/t_561.html
https://www.bilibili.com/video/av16396112/

离线

#31 2019-05-10 14:46:03

powerpan
会员
注册时间: 2019-05-05
累计积分: 3

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

cross compile其实不难,但是要把webengine编译进去就比较难了
-sysroot /debian-jessie  然后指向对应的目录,pkg-config可以做很多事情的
chroot可以进行包的安装

离线

页脚