2012-07-19 5 views
3

J'ai essayé de compiler OpenCSV dans deux macs et dans les deux j'ai des erreurs. Les erreurs suivent:compile opencv sur macos erreur - erreur dans libavformat

Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o 
use of undeclared identifier 'avformat_find_stream_info'; 
did you mean 'av_find_stream_info'? 
/usr/local/include/libavformat/avformat.h:1168:5: note: 'av_find_stream_info' declared here int av_find_stream_info(AVFormatContext *ic); 

L'inclure dans libavformat/usr/local/a été installé avec ffmpeg. Ffmpeg est la version 0.8.5

Quelqu'un a ce même problème?

+0

opencsv est une bibliothèque Java pour analyser des fichiers avec des valeurs séparées par des virgules. Voulez-vous dire OpenCV, la bibliothèque de vision par ordinateur? – blahdiblah

+0

oui, je l'ai fait. c'était une faute de frappe. – Sofia

Répondre

2

I fondamentalement modifié le code en modules/highgui/src/cap_ffmpeg_impl.hpp de

#if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(53, 3, 0) 
    avformat_find_stream_info(ic, NULL); 
#else 
    av_find_stream_info(ic); 
#endif 

à

#if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(53, 3, 0) 
    av_find_stream_info(ic); 
    //avformat_find_stream_info(ic, NULL); 
#else 
    av_find_stream_info(ic); 
#endif 

et résolu. Aucun problème jusqu'à présent.

+0

Merci. Même problème, même version de ffmpeg, la même solution a fonctionné. – VaporwareWolf

1

Vous pouvez désactiver ffmpeg en ajoutant les arguments à la commande cmake suivante (voir par exemple this manual):

-DWITH_FFMPEG=OFF 

En supposant que vous ne fait pas besoin ffmpeg dans votre build, cela va se débarrasser de l'erreur .