2015-06-01 15 views
5

Sto provando a compilare su Slackware 4.1. Tuttavia ho riscontrato il seguente errore ogni volta.errore nella compilazione di opencv con errore cap_gstreamer

In file included from /usr/include/gstreamer-0.10/gst/pbutils/encoding-profile.h:29:0, 
      from /tmp/SBo/opencv-2.4.11/modules/highgui/src/cap_gstreamer.cpp:65: 
/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:35:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererStreamInfoClass; 

/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:83:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererContainerInfoClass; 

/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:104:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererAudioInfoClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:129:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererVideoInfoClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:159:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererSubtitleInfoClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/gstdiscoverer.h:202:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstDiscovererInfoClass; 
    ^
In file included from /tmp/SBo/opencv-2.4.11/modules/highgui/src/cap_gstreamer.cpp:65:0: 
/usr/include/gstreamer-0.10/gst/pbutils/encoding-profile.h:47:9: error: 'GstMiniObjectClass' does not name a type 
typedef GstMiniObjectClass GstEncodingProfileClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/encoding-profile.h:66:9: error: 'GstEncodingProfileClass' does not name a type 
typedef GstEncodingProfileClass GstEncodingContainerProfileClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/encoding-profile.h:85:9: error: 'GstEncodingProfileClass' does not name a type 
typedef GstEncodingProfileClass GstEncodingVideoProfileClass; 
    ^
/usr/include/gstreamer-0.10/gst/pbutils/encoding-profile.h:104:9: error: 'GstEncodingProfileClass' does not name a type 
typedef GstEncodingProfileClass GstEncodingAudioProfileClass; 
    ^
/tmp/SBo/opencv-2.4.11/modules/highgui/src/cap_gstreamer.cpp: In member function 'virtual bool CvCapture_GStreamer::grabFrame()': 
/tmp/SBo/opencv-2.4.11/modules/highgui/src/cap_gstreamer.cpp:232:57: error: 'gst_app_sink_pull_sample' was not declared in this scope 
sample = gst_app_sink_pull_sample(GST_APP_SINK(sink)); 
                ^
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_gstreamer.cpp.o] Error 1 

Il rapporto di configurazione per la compilazione è il seguente:

-- General configuration for OpenCV 2.4.11 ===================================== 
-- Version control:    unknown 
-- 
-- Platform: 
--  Host:      Linux 3.10.17 i686 
--  CMake:      2.8.12 
--  CMake generator:    Unix Makefiles 
--  CMake build tool:   /usr/bin/gmake 
--  Configuration:    Release 
-- 
-- C/C++: 
--  Built as dynamic libs?:  YES 
--  C++ Compiler:    /usr/bin/c++ (ver 4.8.2) 
--  C++ flags (Release):   -O2 -march=i486 -mtune=i686 -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -pthread -march=i686 -fomit-frame-pointer -msse -msse2 -msse3 -mfpmath=sse -ffunction-sections -O2 -DNDEBUG -DNDEBUG 
--  C++ flags (Debug):   -O2 -march=i486 -mtune=i686 -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -pthread -march=i686 -fomit-frame-pointer -msse -msse2 -msse3 -mfpmath=sse -ffunction-sections -g -O0 -DDEBUG -D_DEBUG 
--  C Compiler:     /usr/bin/cc 
--  C flags (Release):   -O2 -march=i486 -mtune=i686 -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -pthread -march=i686 -fomit-frame-pointer -msse -msse2 -msse3 -mfpmath=sse -ffunction-sections -O2 -DNDEBUG -DNDEBUG 
--  C flags (Debug):    -O2 -march=i486 -mtune=i686 -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -pthread -march=i686 -fomit-frame-pointer -msse -msse2 -msse3 -mfpmath=sse -ffunction-sections -g -O0 -DDEBUG -D_DEBUG 
--  Linker flags (Release):  
--  Linker flags (Debug):   
--  Precompiled headers:   NO 
-- 
-- OpenCV modules: 
--  To be built:     core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu ocl nonfree contrib stitching superres ts videostab 
--  Disabled:     world 
--  Disabled by dependency:  - 
--  Unavailable:     androidcamera dynamicuda java python viz 
-- 
-- GUI: 
--  QT 4.x:      YES (ver 4.8.5 EDITION = OpenSource) 
--  QT OpenGL support:   NO 
--  OpenGL support:    NO 
--  VTK support:     NO 
-- 
-- Media I/O: 
--  ZLib:      /usr/lib/libz.so (ver 1.2.8) 
--  JPEG:      /usr/lib/libjpeg.so (ver 80) 
--  PNG:       /usr/lib/libpng.so (ver 1.4.12) 
--  TIFF:      /usr/lib/libtiff.so (ver 42 - 3.9.7) 
--  JPEG 2000:     build (ver 1.900.1) 
--  OpenEXR:      build (ver 1.7.1) 
-- 
-- Video I/O: 
--  DC1394 1.x:     NO 
--  DC1394 2.x:     YES (ver 2.2.2) 
--  FFMPEG:      NO 
--  codec:      NO 
--  format:     NO 
--  util:      NO 
--  swscale:     NO 
--  gentoo-style:    NO 
--  GStreamer:     
--  base:      YES (ver 0.10.36) 
--  video:      YES (ver 0.10.36) 
--  app:      YES (ver 0.10.36) 
--  riff:      YES (ver 0.10.36) 
--  pbutils:     YES (ver 0.10.36) 
--  OpenNI:      NO 
--  OpenNI PrimeSensor Modules: NO 
--  PvAPI:      NO 
--  GigEVisionSDK:    NO 
--  UniCap:      NO 
--  UniCap ucil:     NO 
--  V4L/V4L2:     Using libv4l1 (ver 0.9.5)/libv4l2 (ver 0.9.5) 
--  XIMEA:      NO 
--  Xine:      NO 
-- 
-- Other third-party libraries: 
--  Use IPP:      NO 
--  Use Eigen:     NO 
--  Use TBB:      NO 
--  Use OpenMP:     NO 
--  Use GCD      NO 
--  Use Concurrency    NO 
--  Use C=:      NO 
--  Use Cuda:     NO 
--  Use OpenCL:     YES 
-- 
-- OpenCL: 
--  Version:      dynamic 
--  Include path:    /tmp/SBo/opencv-2.4.11/3rdparty/include/opencl/1.2 
--  Use AMD FFT:     NO 
--  Use AMD BLAS:    NO 
-- 
-- Python: 
--  Interpreter:     /usr/bin/python2 (ver 2.7.5) 
-- 
-- Java: 
--  ant:       NO 
--  JNI:       /usr/lib/java/include /usr/lib/java/include/linux /usr/lib/java/include 
--  Java tests:     NO 
-- 
-- Documentation: 
--  Build Documentation:   NO 
--  Sphinx:      NO 
--  PdfLaTeX compiler:   /usr/share/texmf/bin/pdflatex 
--  Doxygen:      YES (/usr/bin/doxygen) 
-- 
-- Tests and samples: 
--  Tests:      YES 
--  Performance tests:   YES 
--  C/C++ Examples:    NO 
-- 
-- Install path:     /usr 
-- 
-- cvconfig.h is in:    /tmp/SBo/opencv-2.4.11/build 

ho guardato attraverso il requisito OpenCV dal basso legame

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation

Che ho bisogno di ffmpeg o libav pacchetti, che non riesco a trovare nei pacchetti standard di Slackware 14.1. Ma ho installato gstreamer completamente invece (gstreamer, gst-pluigns-base, e buono) e l'errore che ho riscontrato sopra ha sicuramente qualcosa a che fare con gstreamer.

+0

Benvenuti in Stack Overflow! A differenza dei siti di forum, non utilizziamo "Grazie" o "Qualsiasi aiuto apprezzato" o firme su [so]. Vedi "[Se 'Hi', 'thanks', tagline e saluti saranno rimossi dai post?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts) BTW, è "Grazie in anticipo", non "Grazie in anticipo" –

risposta

1

Sto usando Ubuntu 12.04 ma ho ottenuto lo stesso errore. Questo può essere evitato usando il parametro -WITH_GSTREAMER = OFF. come consigliato here e here.

Quindi here si consiglia di aggiornare gstreamer, ma questo non è stato risolto per me. Voglio ancora verificarlo con una nuova installazione.

+0

Sembra OP voluto gstreamer ... perché raccomandarlo disabilitarlo? – CrackerJack9

1

Ha funzionato per me dopo essere stata impostata su ON WITH_GSTREAMER_0_10

+0

Funziona perfettamente e non disabilita gstreamer, come altri le risposte suggeriscono di fare ... non so perché sia ​​stato downvoted, o. – CrackerJack9

+0

Ho anche potuto installare opencv con questa opzione. – diningphil

6

ho ottenuto questo risolto installando libgstreamer-plugins-base1.0-dev. Prima che CMake rilevasse la versione 0.10.36 di GStreamer, dopo - 1.4.5.

0

Se qualcuno ha ancora problemi con questo, provare a installare gstreamer1.0 correttamente con tutto ciò che i pacchetti

Esempio per Fedora OS:

dnf install gstreamer1-devel gstreamer1-plugins-base-tools 
gstreamer1-devel-docs gstreamer1-plugins-base-devel 
gstreamer1-plugins-base-devel-docs 
gstreamer1-plugins-good gstreamer1-plugins-good-extras 
gstreamer1-plugins-ugly gstreamer1-plugins-ugly-devel-docs 
gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-devel 
gstreamer1-plugins-bad-free-extras 

Ecco guida di installazione completa per il vostro sistema: official link.