PYW4343 发表于 2016-1-22 13:00:27

E9---Qt5.4.0库的生成的交叉编译问题

本帖最后由 PYW4343 于 2016-1-22 13:35 编辑

QT5.4.0的库交叉编译出错--报错信息如下:

/usr/include/stdio.h:365:45: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:380:26: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:388:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:392:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:401:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:404:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:407:6: error: expected initializer before '__THROWNL'

这是出错的源头。。。后面一些错误就没有贴出了。

这里我根据手册改了Qt源码里面的qmake.conf文件,也设置了编译环境。
在编译时也是按照手册的说明:
./configure-v-prefix /usr/local/qte-arm-opensource -confirm-license-qt-sql-sqlite -qt-libpng -freetype -qt-pcre -no-compile-examples -device imx6 -no-xcb -no-directfb   -linuxfb   -no-kms-eglfs      -qpa eglfs -opengl es2 -device-option CROSS_COMPILE=/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
这个问题怎么解决呢???

shaohua 发表于 2016-4-21 15:20:20

楼主的问题解决了吗?我也遇到同样的问题。

yanxiaowen 发表于 2018-2-12 10:04:12

版主,你的问题解决了吗?同样的问题,好几天了

PYW4343 发表于 2016-1-22 15:16:19

读了一下,发现问题很多,也把后面一些报错问题贴上来了:
root@pyw-K54HR:/Qt5linux/qt-everywhere-opensource-src-5.4.0# ./configure-v-prefix /usr/local/qte-arm-opensource -confirm-license-qt-sql-sqlite -qt-libpng -qt-libjpeg-qt-freetype -qt-pcre -no-compile-examples -device imx6 -no-xcb -no-directfb   -linuxfb   -no-kms-eglfs      -qpa eglfs -opengl es2 -device-option CROSS_COMPILE=/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
+ cd qtbase
+ /Qt5linux/qt-everywhere-opensource-src-5.4.0/qtbase/configure -top-level -v -prefix /usr/local/qte-arm -opensource -confirm-license -qt-sql-sqlite -qt-libpng -qt-libjpeg -qt-freetype -qt-pcre -no-compile-examples -device imx6 -no-xcb -no-directfb -linuxfb -no-kms -eglfs -qpa eglfs -opengl es2 -device-option CROSS_COMPILE=/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-

This is the Qt Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.

You have already accepted the terms of the Open Source license.

Precompiled-headers support enabled.
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -fvisibility=hidden fvisibility.c
Symbol visibility control enabled.
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
Symbolic function binding disabled.
DEFAULT_INCDIRS="/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/include/c++/4.6.2
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/include/c++/4.6.2/arm-fsl-linux-gnueabi
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/include/c++/4.6.2/backward
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include-fixed
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/include
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/usr/include
"
DEFAULT_LIBDIRS="/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/lib/gcc/arm-fsl-linux-gnueabi/4.6.2
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/lib/gcc
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/armv7-a/arm/softfp/neon/lib
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/armv7-a/arm/softfp/neon/usr/lib
"
Creating qmake...
make: 没有什么可以做的为 `first'。
Running configuration tests...
Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.
Determining architecture... ()
/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -g -Wall -W -fPIE-I../../mkspecs/devices/linux-imx6-g++ -I. -I/usr/include -o arch.o arch.cpp
In file included from arch.cpp:37:0:
/usr/include/stdio.h:365:45: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:380:26: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:388:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:392:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:401:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:404:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:407:6: error: expected initializer before '__THROWNL'
In file included from arch.cpp:37:0:
/usr/include/stdio.h:901:6: error: expected initializer before '__THROWNL'
/usr/include/stdio.h:905:6: error: expected initializer before '__THROWNL'
make: *** 错误 1
Unable to determine architecture!

PYW4343 发表于 2016-1-22 15:18:27

求。。。天嵌的技术人员帮忙解决一下问题啦。。。要不然一块E9板子只能当砖头用啦

TQ-ZQL 发表于 2016-1-23 10:29:08

我们用的是qt4.5,不是5.4

PYW4343 发表于 2016-1-23 14:45:57

TQ-ZQL 发表于 2016-1-23 10:29
我们用的是qt4.5,不是5.4

不是的,我下的是和你们提供的Qt版本一样的Qt5.4.0的,不过我现在尝试着把那个opengl es 的编译给去掉了,还是不行:
./configure-v-prefix /usr/local/qte-arm-opensource -confirm-license-qt-sql-sqlite -qt-libpng -qt-libjpeg-qt-freetype -qt-pcre -no-compile-examples -device imx6 -no-xcb -no-directfb   -linuxfb   -no-kms-eglfs    -qpa eglfs -opengl es2 -device-option CROSS_COMPILE=/opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
红色部分被我去掉了。可是还是不行。。。。那样是不是说那个交叉编译有问题吗??还是本来你们提供的那个交叉编译的链接就不对????还是Qt5.4.0本来就不支持IMX6的啊??

PYW4343 发表于 2016-1-25 11:25:13

本帖最后由 PYW4343 于 2016-1-25 11:28 编辑

TQ-ZQL 发表于 2016-1-23 10:29
我们用的是qt4.5,不是5.4
版主你好:
      你说用的是Qt4.5。。。,那么我们用Qt5.4.0编辑,用Qt4.5的库链接来编译可以吗????这样编译出来的Qt可以在E9上面使用吗???如果不可以那么我们该怎样才能用Qt5.4的库来编译呢??
      在那些手册上说的是Qt5.4的啊!!!如果是Qt4.5的,那么说,现在的E9对Qt4.5是支持的吗??还有,那些手册为什么要花费那么多的篇章讲Qt5.4呢???
      我在其他论坛上看到,是不是要装上tslib才能编译Qt5.4的库呢????或者它的交叉编译的版本不对吗???

Driss 发表于 2018-3-6 16:45:00

楼主,你的问题解决了吗?我也遇到一样的情况,很久了,都没解决掉
页: [1]
查看完整版本: E9---Qt5.4.0库的生成的交叉编译问题