标题:移植qt5.6到imx6,提示:SONAME must not be empty string; keeping previous one
作者:我一米八
日期:2016-07-14 10:52
内容:
移植qt5.6到imx6,配置通过,make的时候,提示:SONAME must not be empty string; keeping previous one。
具体信息如下:
rm -f libQt5Network.so.5.6.1 libQt5Network.so libQt5Network.so.5 libQt5Network.so.5.6
/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ --sysroot=/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wl,-rpath-link,/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib -Wl,-rpath-link,/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/arm-poky-linux-gnueabi -mfloat-abi=hard -Wl,--no-undefined -Wl,--no-undefined -Wl,--version-script,QtNetwork.version -Wl,-O1 -Wl,-O1 -Wl,-z,origin -Wl,-rpath,\$ORIGIN -shared -shared -Wl,-soname,libQt5Network.so.5 -Wl,-soname, -o libQt5Network.so.5.6.1 .obj/qftp.o .obj/qhttpnetworkheader.o .obj/qhttpnetworkrequest.o .obj/qhttpnetworkreply.o .obj/qhttpnetworkconnection.o .obj/qhttpnetworkconnectionchannel.o .obj/qabstractprotocolhandler.o .obj/qhttpprotocolhandler.o .obj/qspdyprotocolhandler.o .obj/qnetworkaccessauthenticationmanager.o .obj/qnetworkaccessmanager.o .obj/qnetworkaccesscache.o .obj/qnetworkaccessbackend.o .obj/qnetworkaccessdebugpipebackend.o .obj/qnetworkaccessfilebackend.o .obj/qnetworkaccesscachebackend.o .obj/qnetworkaccessftpbackend.o .obj/qnetworkcookie.o .obj/qnetworkcookiejar.o .obj/qnetworkrequest.o .obj/qnetworkreply.o .obj/qnetworkreplyimpl.o .obj/qnetworkreplydataimpl.o .obj/qnetworkreplyhttpimpl.o .obj/qnetworkreplyfileimpl.o .obj/qabstractnetworkcache.o .obj/qnetworkdiskcache.o .obj/qhttpthreaddelegate.o .obj/qhttpmultipart.o .obj/qnetworksession.o .obj/qnetworkconfigmanager.o .obj/qnetworkconfiguration.o .obj/qnetworkconfigmanager_p.o .obj/qbearerengine.o .obj/qbearerplugin.o .obj/qsharednetworksession.o .obj/qauthenticator.o .obj/qdnslookup.o .obj/qhostaddress.o .obj/qhostinfo.o .obj/qurlinfo.o .obj/qnetworkproxy.o .obj/qnetworkinterface.o .o ..
#1 [我一米八 07-14 11:01]
配置如下:
./configure \
-release \
-opensource -confirm-license \
-shared \
-dbus \
-mtdev \
-evdev \
-qt-zlib \
-qt-sql-sqlite \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz \
-no-xcb -no-xcb-xlib -no-iconv -no-openssl -no-sse2 \
-qml-debug \
-examplesdir $PWD/qt_install/examples -make libs \
-importdir $PWD/qt_install/imports \
-qmldir $PWD/qt_install/qmls \
-make tools \
-make examples \
-make tests \
-gui -widgets \
-optimized-qmake \
-force-asserts \
-eglfs \
-opengl es2 \
-device-option CROSS_COMPILE=/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- \
-device linux-imx6-g++ \
-sysroot /opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi \
-no-gcc-sysroot \
-prefix $PWD/qt_install -v
#2 [我一米八 07-14 11:02]
qmake.com配置如下:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR= UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = eglfs
#QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a #cortex-A8
#QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
IMX6_CFLAGS= -march=armv7-a -mfpu=neon -mtune=cortex-a9 -DLINUX=1 -DEGL_API_FB=1 -pipe -g -feliminate-unused-debug-types
IMX6_CFLAGS_RELEASE = -O2 $$IMX6_CFLAGS
QMAKE_CFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE
QMAKE_CFLAGS += $$IMX6_CFLAGS
QMAKE_CXXFLAGS += $$IMX6_CFLAGS
QMAKE_LFLAGS += -Wl,-rpath-link,/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib -Wl,-rpath-link,/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/arm-poky-linux-gnueabi
include(../common/linux_device_pre.conf)
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC= /opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc --sysroot=/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
QMAKE_CXX = /opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ --sysroot=/opt/f ..
#3 [我一米八 07-14 11:03]
哪位大神手动编译过qt5.6,支持opengl,帮忙看一下,感激不尽!
#4 [自强不吸 10-19 16:27]
我的编译完运行程序的时候 :
./demo -platform eglfs
会报错:./demo: symbol lookup error: /opt/openGlES/lib/libEGL.so.1: undefined sym
bol: gcoOS_GetTLS
如果直接运行:./demo
会有这个错误:
This plugin does not support createPlatformOpenGLContext!
QtQuick: failed to create OpenGL context
实在是有点头疼,搞了几天了
#5 [shf1986 01-10 14:56]
http://bbs.21ic.com/icview-1653358-1-1.html