天嵌 ARM开发社区

 找回密码
 注册
查看: 6987|回复: 8

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

[复制链接]
PYW4343 发表于 2016-1-22 13:00:27 | 显示全部楼层 |阅读模式
本帖最后由 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 | 显示全部楼层
楼主的问题解决了吗?我也遇到同样的问题。
回复 支持 1 反对 0

使用道具 举报

yanxiaowen 发表于 2018-2-12 10:04:12 | 显示全部楼层
版主,你的问题解决了吗?同样的问题,好几天了
回复 支持 1 反对 0

使用道具 举报

 楼主| 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: *** [arch.o] 错误 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 | 显示全部楼层
楼主,你的问题解决了吗?我也遇到一样的情况,很久了,都没解决掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-25 01:19 , Processed in 1.062500 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表