需要帮助构建(Qt5.1.1)qtmultimedia与gstreamer

时间:2013-12-11 05:29:41

标签: arm cross-compiling gstreamer qt5.1 qtmultimedia

大家好,我不知道究竟应该问这个问题。我试图解决这个过去一周的问题。 我试图在基于imx6 arm的设备上用gstreamer交叉编译Qt 5.1.1 qtmultimedia。这是我的配置文件:

#!/bin/sh
./configure —prefix=/tools/rootfs/usr/local/qt-5.1.1 -examplesdir /tools/rootfs/usr/local/qt-5.1.1/examples -verbose -opensource -confirm-license -make libs -make examples -device imx6 \
-device-option CROSS_COMPILE=\
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-    toolchain/bin/arm-fsl-linux-gnueabi- \
-no-pch -no-opengl -no-icu -no-xcb -no-c++11 \
-opengl es2 \
-eglfs \
-compile-examples \
-glib -gstreamer \

这是我的qmake.conf:

include(../common/linux_device_pre.conf) ROOTFS=/tools/rootfs EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp

QMAKE_INCDIR += $$ROOTFS/usr/include \ $$ROOTFS/usr/include/glib-2.0 \ 
$$ROOTFS/usr/include/glib-2.0/gio \ $$ROOTFS/usr/include/glib-2.0/glib \
 $$ROOTFS/usr/include/glib-2.0/gobject \ $$ROOTFS/usr/include/glib-2.0/include
 $$ROOTFS/usr/include/gstreamer-0.10 \ $$ROOTFS/usr/include/libxml2 

QMAKE_LIBDIR += $$ROOTFS/usr/lib 
QMAKE_LIBS += -L/tools/rootfs/usr/lib -lgthread-2.0 -lgio-2.0 -lglib-2.0 - lgmodule-2.0 -lgobject-2.0 -lgstbase-0.10 -lgstcontroller-0.10 -lgstreamer-0.10 

QMAKE_INCDIR_OPENGL_ES2+= $$ROOTFS/usr/include/GLES2
QMAKE_LIBDIR_OPENGL_ES2+= $$ROOTFS/usr/lib QMAKE_LIBS_EGL += -lEGL   
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL 
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
 QMAKE_LFLAGS += -Wl,-rpath-link,$$ROOTFS/usr/lib 
IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 
IMX6_CFLAGS_RELEASE = -O2 $$IMX6_CFLAGS 
QMAKE_CFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE   
  QMAKE_CXXFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE

 QMAKE_CFLAGS_DEBUG += $$IMX6_CFLAG
QMAKE_CXXFLAGS_DEBUG += $$IMX6_CFLAGS include(../common/linux_device_post.conf) load(qt_config)

当我配置gstreamer时启用。 但它没有建立多媒体。我去了qt-everywhere-opensource-src-5.1.1并且做了模块qtmultimedia。在make install之后,我试图在设备上运行我的应用程序。它说: QtMultimedia:defaultServiceProvider :: requestService():找不到服务 - “org.qt-project.qt.mediaplayer”

根据qtmultimedia config.log包找不到gstreamer-0.10。之后尝试构建它导出PKG_CONFIG_PATH 结果仍然相同。任何人都可以帮我解决这个错误!

1 个答案:

答案 0 :(得分:2)

由于配置失败,

导出包配置路径不正确:

导出PKG_CONFIG_DIR = export PKG_CONFIG_LIBDIR = $ {SYSROOT} / usr / lib / pkgconfig:$ {SYSROOT} / usr / share / pkgconfig export PKG_CONFIG_SYSROOT_DIR = $ {SYSROOT}

再次配置和构建。