Many people(including me) met the infamous "undefined reference" error during installing OpenCV, such as
../../lib/libopencv_highgui.so.2.4.1: undefined reference to `avpriv_vorbis_parse_extradata’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_des_init’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_rc4_crypt’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_aes_crypt’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_des_mac’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_tree_destroy’../../lib/libopencv_highgui.so.2.4.1: undefined reference to `av_sha_update’collect2: ld returned 1 exit statusmake[2]: *** [bin/opencv_perf_imgproc] Error 1make[1]: *** [modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all] Error 2make: *** [all] Error 2
This error was caused by lacking of or improper installation of ffmpeg. If you are sure the ffmpeg is successfully installed, and you can find "– FFMPEG: YES" after cmake opencv, then you'd better think about adding option "--enable-shared " when configure ffmpeg. After re-installing ffmpeg, then this "undefined reference" error should disappear.
PS: A very good guideline of installing OpenCV on Ubuntu:
A Comprehensive Guide to Installing and Configuring OpenCV 2.4.2 on Ubuntu
PPS: Damn Ubuntu!!!