qt-mobility1.2.0-arm-cross-compile with4.7.3

/******************************************************************************************************
仔细查阅便知道,QtMobility1.2.0以前的版本是不支持camera图像显示的,特别强调的是在Linux下,Qt官网便可以知道。
/******************************************************************************************************


$tar -xzvf qt-mobility-opensource-src-1.2.0.tar.gz


$cd qt-mobility-opensource-src-1.2.0


$./configure -prefix /usr/local/qt-mobility-1.1.3-lib/ -libdir "/home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/linux-devkit/arm-none-linux-gnueabi/usr/include/qtopia /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/omap35x_graphics_sdk_4.00.00.01/gfx_dbg_es2.x/freedesktop/kdrive/usr/X11R6_SGX/lib /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib -rpath /home/linuxsir/arm-linux/arm-2009q1/lib /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib/alsa-lib/smixer /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/tslib/lib /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib/openGlVg -lts -lOpenVG -lIMGegl -lsrv_um -lGLES_CM -lX11 -lXrandr -lglib-2.0 -lgthread-2.0 -lEGL" -headerdir "/home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/GLES-GL-VG/OPGL/EGL /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/GLES-GL-VG/OPGL2/GLES2 /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/GLES-GL-VG/OPGL/GLES /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/GLES-GL-VG/OVG/VG /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib/dbus-1.0/include/dbus /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/dbus-1.0/dbus /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/alsa /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/tslib/include /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib/glib-2.0/include /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/libxml2/libxml /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/glib-2.0/glib /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/linux-devkit/arm-none-linux-gnueabi/usr/include /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/lib/openGlVg /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/omap35x_graphics_sdk_4.00.00.01/gfx_dbg_es2.x/freedesktop/kdrive/usr/X11R6_SGX/include /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/gstreamer-0.10 /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/libxml2"


$make

-----------------------------------------------------------------------------------------------------------------------

../3rdparty/proj/pj_ell_set.c:77: error: invalid conversion from 'const char*' to 'char*'
../3rdparty/proj/pj_ell_set.c:77: error:   initializing argument 2 of 'PVALUE pj_param(paralist*, char*)'
make[2]: *** [../../build/Debug/QtLocation/pj_ell_set.o] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/location'
make[1]: *** [sub-location-make_default] Error 2
make[1]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src'
make: *** [sub-src-make_default-ordered] Error 2


$vim ./src/3rdparty/proj/pj_ell_set.c

 76 
 77                         tmp = sin(pj_param(pl, (char*)(i ? "rR_lat_a" : "rR_lat_g")).f);
 78                         if (fabs(tmp) > HALFPI) {


$make

-------------------------------------------------------------------------------------------------------------------------------

/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make[2]: *** [../../lib/libQtSystemInfo.so.1.2.0] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/systeminfo'
make[1]: *** [sub-systeminfo-make_default] Error 2
make[1]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src'
make: *** [sub-src-make_default-ordered] Error 2


$sudo vim /usr/local/qt-emembeded-4.7.3-arm-linux/mkspecs/qws/linux-omap-g++/qmake.conf


QMAKE_INCDIR            += /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/tslib/include /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/omap35x_graphics_sdk_4.00.00.01/gfx_dbg_es2.x/freedesktop/kdrive/usr/X11R6_SGX/include


QMAKE_LIBDIR            += /home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/tslib/lib /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/omap35x_graphics_sdk_4.00.00.01/gfx_dbg_es2.x/freedesktop/kdrive/usr/X11R6_SGX/lib


$./configure -prefix /usr/local/qt-mobility-1.1.3-lib/
------------------------------------------------------------------------------------------------------------------------------


toothlocaldevice.o bluetooth/qbluetoothlocaldevice.cpp
In file included from bluetooth/qbluetoothlocaldevice.cpp:43:
bluetooth/qbluetoothlocaldevice_p.h:56:24: error: QDBusContext: No such file or directory
bluetooth/qbluetoothlocaldevice_p.h:57:27: error: QDBusObjectPath: No such file or directory
bluetooth/qbluetoothlocaldevice_p.h:58:24: error: QDBusMessage: No such file or directory
In file included from bluetooth/qbluetoothlocaldevice.cpp:43:
bluetooth/qbluetoothlocaldevice_p.h:74: error: expected class-name before '{' token
bluetooth/qbluetoothlocaldevice_p.h:89: error: expected ',' or '...' before '&' token
bluetooth/qbluetoothlocaldevice_p.h:89: error: ISO C++ forbids declaration of 'QDBusObjectPath' with no type
bluetooth/qbluetoothlocaldevice_p.h:92: error: expected ',' or '...' before '&' token
bluetooth/qbluetoothlocaldevice_p.h:92: error: ISO C++ forbids declaration of 'QDBusObjectPath' with no type
bluetooth/qbluetoothlocaldevice_p.h:94: error: expected ',' or '...' before '&' token
bluetooth/qbluetoothlocaldevice_p.h:94: error: ISO C++ forbids declaration of 'QDBusObjectPath' with no type
bluetooth/qbluetoothlocaldevice_p.h:96: error: expected ',' or '...' before '&' token
bluetooth/qbluetoothlocaldevice_p.h:96: error: ISO C++ forbids declaration of 'QDBusObjectPath' with no type
bluetooth/qbluetoothlocaldevice_p.h:97: error: expected ',' or '...' before '&' token
bluetooth/qbluetoothlocaldevice_p.h:97: error: ISO C++ forbids declaration of 'QDBusObjectPath' with no type
bluetooth/qbluetoothlocaldevice_p.h:101: error: 'QDBusVariant' has not been declared
bluetooth/qbluetoothlocaldevice_p.h:104: error: 'QDBusMessage' does not name a type
bluetooth/qbluetoothlocaldevice_p.h:105: error: ISO C++ forbids declaration of 'QDBusConnection' with no type
bluetooth/qbluetoothlocaldevice_p.h:105: error: expected ';' before '*' token
make[2]: *** [../../build/Debug/QtConnectivity/qbluetoothlocaldevice.o] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/connectivity'


$vim ./src/connectivity/bluetooth/qbluetoothlocaldevice_p.h


 54 #ifndef QT_NO_DBUS
 55 #include <QObject>
 56 #include <QtDBus/QDBusContext>
 57 #include <QtDBus/QDBusObjectPath>
 58 #include <QtDBus/QDBusMessage>
 59 


$sudo vim /usr/local/qt-emembeded-4.7.3-arm-linux/mkspecs/qws/linux-omap-g++/qmake.conf


QMAKE_INCDIR            += /home/linuxsir/dvsdk/ti-dvsdk_dm3730-evm_4_02_00_06/linux-devkit/arm-none-linux-gnueabi/usr/include/qtopia


$./configure -prefix /usr/local/qt-mobility-1.1.3-lib/


$make 
------------------------------------------------------------------------------------------------------------------------------

m-2009q1/lib/lib-arm/lib/openGlVg -lz -lpthread  
../../build/Debug/QtConnectivity/qbluetoothservicediscoveryagent.o: In function `QtMobility::QBluetoothServiceDiscoveryAgent::qt_metacall(QMetaObject::Call, int, void**)':
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/connectivity/../../build/Debug/QtConnectivity/moc/moc_qbluetoothservicediscoveryagent.cpp:106: undefined reference to `QtMobility::QBluetoothServiceDiscoveryAgentPrivate::_q_discoveredServices(QDBusPendingCallWatcher*)'
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/connectivity/../../build/Debug/QtConnectivity/moc/moc_qbluetoothservicediscoveryagent.cpp:107: undefined reference to `QtMobility::QBluetoothServiceDiscoveryAgentPrivate::_q_createdDevice(QDBusPendingCallWatcher*)'
collect2: ld returned 1 exit status
make[2]: *** [../../lib/libQtConnectivity.so.1.2.0] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/src/connectivity'




$vim src/connectivity/../../build/Debug/QtConnectivity/moc/moc_qbluetoothservicediscoveryagent.cpp


105         case 10: d_func()->_q_serviceDiscoveryFinished(); break;
106         //case 11: d_func()->_q_discoveredServices((*reinterpret_cast< QDBusPendingCallWatcher*(*)>(_a[1]))); break;
107         //case 12: d_func()->_q_createdDevice((*reinterpret_cast< QDBusPendingCallWatcher*(*)>(_a[1]))); break;


$make
------------------------------------------------------------------------------------------------------------------------------
/LIBS/

/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libgthread-2.0.so.0, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libglib-2.0.so.0, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so, not found (try using -rpath or -rpath-link)
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_set_priority'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_set_can_recurse'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_new'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_ref'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_remove_poll'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_new'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_iteration'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_wakeup'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_thread_init'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_default'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_threads_got_initialized'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_add_poll'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_unref'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_main_context_pending'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_destroy'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_unref'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtCore.so: undefined reference to `g_source_attach'
collect2: ld returned 1 exit status
make[2]: *** [../../bin/servicedbgen] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/tools/servicedbgen'


$sudo vim /usr/local/qt-emembeded-4.7.3-arm-linux/mkspecs/qws/linux-omap-g++/qmake.conf


LIBS                    += -lglib-2.0 -lgthread-2.0 -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lxml2 -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lz


./configure -prefix /usr/local/qt-mobility-1.1.3-lib/


$make
------------------------------------------------------------------------------------------------------------------------------


/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libts-0.0.so.0, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libEGL.so, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libOpenVG.so, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libIMGegl.so, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libsrv_um.so, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/linuxsir/arm-linux/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libGLES_CM.so, needed by /usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglCreateWindowSurface'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglBindAPI'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglCreateContext'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglCreatePixmapSurface'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglMakeCurrent'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglDestroySurface'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglGetConfigAttrib'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglGetDisplay'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_read_raw'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglChooseConfig'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_open'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglInitialize'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglGetProcAddress'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_fd'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglGetConfigs'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglQueryString'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglDestroyContext'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_config'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_close'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglSwapBuffers'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglGetError'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `eglTerminate'
/usr/local/qt-emembeded-4.7.3-arm-linux/lib/libQtGui.so: undefined reference to `ts_read'
collect2: ld returned 1 exit status
make[2]: *** [../../bin/servicexmlgen] Error 1
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/tools/servicexmlgen'


$sudo vim /usr/local/qt-emembeded-4.7.3-arm-linux/mkspecs/qws/linux-omap-g++/qmake.conf


LIBS                    += -lglib-2.0 -lgthread-2.0 -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lxml2 -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lz


to 


LIBS                    += -lglib-2.0 -lgthread-2.0 -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lxml2 -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lz -lOpenVG -lIMGegl -lsrv_um -lGLES_CM -lEGL -lts




./configure -prefix /usr/local/qt-mobility-1.1.3-lib/


$make
------------------------------------------------------------------------------------------------------------------------------


../../../build/Debug/qgstengine/gstvideoconnector.o gstvideoconnector.c
gstvideoconnector.c:73: warning: unused parameter 'data'
gstvideoconnector.c: In function 'void gst_video_connector_class_init(GstVideoConnectorClass*)':
gstvideoconnector.c:109: error: invalid conversion from 'void*' to 'GstElementClass*'
gstvideoconnector.c:119: error: invalid conversion from 'int' to 'GSignalFlags'
gstvideoconnector.c:119: error:   initializing argument 3 of 'guint g_signal_new(const gchar*, GType, GSignalFlags, guint, gboolean (*)(GSignalInvocationHint*, GValue*, const GValue*, void*), void*, void (*)(GClosure*, GValue*, guint, const GValue*, void*, void*), GType, guint, ...)'
gstvideoconnector.c: At global scope:
gstvideoconnector.c:130: warning: unused parameter 'g_class'
gstvideoconnector.c:235: warning: unused parameter 'pad'
gstvideoconnector.c:235: warning: unused parameter 'buffer'
make[3]: *** [../../../build/Debug/qgstengine/gstvideoconnector.o] Error 1
make[3]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer'




$vim ./plugins/multimedia/gstreamer/gstvideoconnector.c


116             g_signal_new ("resend-new-segment", G_TYPE_FROM_CLASS (klass),
*117                           (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
118                           G_STRUCT_OFFSET (GstVideoConnectorClass, resend_new_segment), NULL, NULL,
119                           g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);


$make


------------------------------------------------------------------------------------------------------------------------------


-none-linux-gnueabi/usr/include/qtopia -I/home/linuxsir/arm-linux/arm-2009q1/lib/lib-arm/include/gstreamer-0.10 -o ../../../build/Debug/qgstengine/qgstreamervideooverlay.o qgstreamervideooverlay.cpp
cc1plus: warning: include location "/usr/include/gstreamer-0.10" is unsafe for cross-compilation
cc1plus: warning: include location "/usr/include/libxml2" is unsafe for cross-compilation
qgstreamervideooverlay.cpp:51: error: 'QGstreamerVideoOverlay' has not been declared
qgstreamervideooverlay.cpp:51: error: ISO C++ forbids declaration of 'QGstreamerVideoOverlay' with no type
qgstreamervideooverlay.cpp: In function 'int QGstreamerVideoOverlay(QObject*)':
qgstreamervideooverlay.cpp:52: error: only constructors take base initializers
qgstreamervideooverlay.cpp:54: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:58: error: 'm_videoSink' was not declared in this scope
qgstreamervideooverlay.cpp:64: error: invalid use of 'this' in non-member function
qgstreamervideooverlay.cpp:64: error: 'connect' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:67: error: expected constructor, destructor, or type conversion before '::' token
qgstreamervideooverlay.cpp:75: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:75: error: non-member function 'WId winId()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'WId winId()':
qgstreamervideooverlay.cpp:77: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:80: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setWinId(WId)':
qgstreamervideooverlay.cpp:82: error: 'isReady' was not declared in this scope
qgstreamervideooverlay.cpp:83: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:86: error: 'readyChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:89: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:89: error: non-member function 'QRect displayRect()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'QRect displayRect()':
qgstreamervideooverlay.cpp:91: error: 'm_displayRect' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:94: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setDisplayRect(const QRect&)':
qgstreamervideooverlay.cpp:96: error: 'm_displayRect' was not declared in this scope
qgstreamervideooverlay.cpp:98: error: 'setScaledDisplayRect' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:101: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:101: error: non-member function 'Qt::AspectRatioMode aspectRatioMode()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'Qt::AspectRatioMode aspectRatioMode()':
qgstreamervideooverlay.cpp:103: error: 'm_aspectRatioMode' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:106: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setAspectRatioMode(Qt::AspectRatioMode)':
qgstreamervideooverlay.cpp:108: error: 'm_aspectRatioMode' was not declared in this scope
qgstreamervideooverlay.cpp:110: error: 'setScaledDisplayRect' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:113: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:117: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:117: error: non-member function 'int brightness()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'int brightness()':
qgstreamervideooverlay.cpp:119: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:122: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setBrightness(int)':
qgstreamervideooverlay.cpp:124: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:126: error: 'brightnessChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:129: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:129: error: non-member function 'int contrast()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'int contrast()':
qgstreamervideooverlay.cpp:131: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:134: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setContrast(int)':
qgstreamervideooverlay.cpp:136: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:138: error: 'contrastChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:141: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:141: error: non-member function 'int hue()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'int hue()':
qgstreamervideooverlay.cpp:143: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:146: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setHue(int)':
qgstreamervideooverlay.cpp:148: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:150: error: 'hueChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:153: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:153: error: non-member function 'int saturation()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'int saturation()':
qgstreamervideooverlay.cpp:155: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:158: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setSaturation(int)':
qgstreamervideooverlay.cpp:160: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:162: error: 'saturationChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:165: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:165: error: non-member function 'bool isFullScreen()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'bool isFullScreen()':
qgstreamervideooverlay.cpp:167: error: 'm_fullScreen' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:170: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setFullScreen(bool)':
qgstreamervideooverlay.cpp:172: error: 'm_fullScreen' was not declared in this scope
qgstreamervideooverlay.cpp:172: error: 'fullScreenChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:175: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:175: error: non-member function 'QSize nativeSize()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'QSize nativeSize()':
qgstreamervideooverlay.cpp:177: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:180: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp:180: error: non-member function 'QAbstractVideoSurface* surface()' cannot have cv-qualifier
qgstreamervideooverlay.cpp: In function 'QAbstractVideoSurface* surface()':
qgstreamervideooverlay.cpp:182: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:185: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'GstElement* videoSink()':
qgstreamervideooverlay.cpp:187: error: 'm_videoSink' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:190: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void surfaceFormatChanged()':
qgstreamervideooverlay.cpp:192: error: 'setScaledDisplayRect' was not declared in this scope
qgstreamervideooverlay.cpp:194: error: 'nativeSizeChanged' was not declared in this scope
qgstreamervideooverlay.cpp: At global scope:
qgstreamervideooverlay.cpp:197: error: 'QGstreamerVideoOverlay' is not a class or namespace
qgstreamervideooverlay.cpp: In function 'void setScaledDisplayRect()':
qgstreamervideooverlay.cpp:199: error: 'm_surface' was not declared in this scope
qgstreamervideooverlay.cpp:201: error: 'm_aspectRatioMode' was not declared in this scope
qgstreamervideooverlay.cpp:205: error: 'm_displayRect' was not declared in this scope
qgstreamervideooverlay.cpp:215: error: 'm_displayRect' was not declared in this scope
make[3]: *** [../../../build/Debug/qgstengine/qgstreamervideooverlay.o] Error 1
make[3]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer'


$vim plugins/multimedia/gstreamer/qgstreamervideooverlay.h


 52 class QX11VideoSurface;
 53 
 54 #if defined(Q_WS_X11) && !defined(QT_NO_XVIDEO)
 55 
 56 QT_USE_NAMESPACE


Q_WS_X11 was not be defined!




vim ./include/Qt/qglobal.h


 818 #  elif !defined(Q_WS_QWS)
 819 #    define Q_WS_X11


$sudo vim /usr/local/qt-emembeded-4.7.3-arm-linux/mkspecs/qws/linux-omap-g++/qmake.conf


LIBS                    += -lglib-2.0 -lgthread-2.0 -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lxml2 -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lz -lOpenVG -lIMGegl -lsrv_um -lGLES_CM -lEGL -lts -lXv -lX11 -lXext


./configure -prefix /usr/local/qt-mobility-1.2.0-lib/


$vim plugins/multimedia/gstreamer/qgstreamervideooverlay.h
vim ./plugins/multimedia/gstreamer/qgstreamervideowindow.h


52 class QX11VideoSurface;
 53 
 54 //#if defined(Q_WS_X11) && !defined(QT_NO_XVIDEO)
 55 


115 };
116 
117 //#endif //QT_NO_XVIDEO
118 
119 #endif


$make 


------------------------------------------------------------------------------------------------------------------------------

../../../build/Debug/qgstengine/qx11videosurface.o: In function `QX11VideoSurface::findPort()':
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:459: undefined reference to `QX11Info::display()'
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:471: undefined reference to `QX11Info::display()'
../../../build/Debug/qgstengine/qx11videosurface.o: In function `QX11VideoSurface::present(QVideoFrame const&)':
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:418: undefined reference to `QX11Info::display()'
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:440: undefined reference to `QX11Info::display()'
../../../build/Debug/qgstengine/qx11videosurface.o: In function `QX11VideoSurface::start(QVideoSurfaceFormat const&)':
/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:338: undefined reference to `QX11Info::display()'
../../../build/Debug/qgstengine/qx11videosurface.o:/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/qx11videosurface.cpp:291: more undefined references to `QX11Info::display()' follow
collect2: ld returned 1 exit status
make[3]: *** [libqgstengine.so] Error 1
make[3]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer'


$vim plugins/plugins.pro


 -14 //contains(QT_CONFIG,declarative): SUBDIRS += declarative
 15 
 +16 SUBDIRS         += declarative


$qt-mobility-opensource-src-1.2.0$ vim plugins/multimedia/gstreamer/gstreamer.pro


 81     qgstutils.cpp
 82 
 83 
 -84 //!win32:!embedded:!mac:!symbian:!simulator:!contains(QT_CONFIG, qpa) {
 -85 //    LIBS += -lXv -lX11 -lXext
 -86 
 -87 //    HEADERS += \
 -88 //        qgstreamervideooverlay.h \
 -89 //        qgstreamervideowindow.h \
 -90 //        qgstreamervideowidget.h \
 -91 //        qx11videosurface.h \
 -92 //       qgstxvimagebuffer.h
 -93 
 -94 //   SOURCES += \
 -95 //        qgstreamervideooverlay.cpp \
 -96 //        qgstreamervideowindow.cpp \
 -97 //        qgstreamervideowidget.cpp \
 -98 //        qx11videosurface.cpp \
 -99 //        qgstxvimagebuffer.cpp
-100 //}
101 include(mediaplayer/mediaplayer.pri)


$make


$sudo make install
------------------------------------------------------------------------------------------------------------------------------


g -lQtSvg -lQtSql -lQtXmlPatterns -lQtScript -lQtGui -lQtNetwork -lQtCore -lz -lpthread  
make[3]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/declarative/connectivity'
make[2]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins/declarative'
make[1]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/plugins'
cd translations/ && make -f Makefile 
make[1]: Entering directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/translations'
/usr/local/qt-emembeded-4.7.3-arm-linux/bin/qmake -o Makefile translations.pro
make[1]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/translations'
make[1]: Entering directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/translations'
make[1]: Leaving directory `/home/linuxsir/dvsdk/qt-mobility-opensource-src-1.2.0/translations'
linuxsir@ubuntu:~/dvsdk/qt-mobility-opensource-src-1.2.0$ ls lib/
libQtBearer.prl             libQtFeedback.so.1.2         libQtOrganizer.so               libQtServiceFramework.so.1.2.0
libQtBearer.so              libQtFeedback.so.1.2.0       libQtOrganizer.so.1             libQtSystemInfo.prl
libQtBearer.so.1            libQtGallery.prl             libQtOrganizer.so.1.2           libQtSystemInfo.so
libQtBearer.so.1.2          libQtGallery.so              libQtOrganizer.so.1.2.0         libQtSystemInfo.so.1
libQtBearer.so.1.2.0        libQtGallery.so.1            libQtPublishSubscribe.prl       libQtSystemInfo.so.1.2
libQtConnectivity.prl       libQtGallery.so.1.2          libQtPublishSubscribe.so        libQtSystemInfo.so.1.2.0
libQtConnectivity.so        libQtGallery.so.1.2.0        libQtPublishSubscribe.so.1      libQtVersitOrganizer.prl
libQtConnectivity.so.1      libQtLocation.prl            libQtPublishSubscribe.so.1.2    libQtVersitOrganizer.so
libQtConnectivity.so.1.2    libQtLocation.so             libQtPublishSubscribe.so.1.2.0  libQtVersitOrganizer.so.1
libQtConnectivity.so.1.2.0  libQtLocation.so.1           libQtSensors.prl                libQtVersitOrganizer.so.1.2
libQtContacts.prl           libQtLocation.so.1.2         libQtSensors.so                 libQtVersitOrganizer.so.1.2.0
libQtContacts.so            libQtLocation.so.1.2.0       libQtSensors.so.1               libQtVersit.prl
libQtContacts.so.1          libQtMultimediaKit.prl       libQtSensors.so.1.2             libQtVersit.so
libQtContacts.so.1.2        libQtMultimediaKit.so        libQtSensors.so.1.2.0           libQtVersit.so.1
libQtContacts.so.1.2.0      libQtMultimediaKit.so.1      libQtServiceFramework.prl       libQtVersit.so.1.2
libQtFeedback.prl           libQtMultimediaKit.so.1.2    libQtServiceFramework.so        libQtVersit.so.1.2.0
libQtFeedback.so            libQtMultimediaKit.so.1.2.0  libQtServiceFramework.so.1
libQtFeedback.so.1          libQtOrganizer.prl           libQtServiceFramework.so.1.2


OK! Cross complie ARM ,QtMobility1.2.0 is OK. Congretilation!


Congretulate!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值