Here is the tutorial I followed:http://thebitbangtheory.wordpress.com/2011/10/23/how-to-install-opencv-2-3-1-in-ubuntu-11-10-oneiric-ocelot-with-python-support/
I think the problem is ffmpeg, the version I used is 0.8.10, and I installed it in /usr and enabled share, but when I complied opencv,the output was full of
./../lib/libopencv_highgui.so.2.3.1: undefined reference to
av_codec_get_id' ../../lib/libopencv_highgui.so.2.3.1: undefined reference to
av_seek_frame'
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `avpicture_get_size
Check your LD_LIBRARY_PATH and PKG_CONFIG_PATH, along with the location you installed ffmpeg to.
See here for more information on the steps.
Thanks to @karlphillip and @Appleman1234, and I solved my problem finally. The key is remove the /release directory that contains the cmake information and do the recompile from scratch, i.e. mkdir ./release, cd ./release, cmake, make and make install. BTW,ffmpeg is required 0.8+,and mine is 0.8.1.