Linux で OpenCV と FFMPEG を使用して実行するコードを開発しています。Mac を使用してこのコードを開発したいと考えており、Mac で FFMPEG 機能が必要です。
次のようにconfigureを実行できました:
./configure --without-quicktime --with-ffmpeg --without-python --disable-apps CPPFLAGS=-I/opt/local/include LDFLAGS="-L/opt/local/lib -L/usr/local/share -L/usr/local/lib"
しかし、make を実行すると、次のエラーが発生します。
/Users/adamb/opencv/trunk/opencv/src/./.libs/lib_cxcore.a の解凍 (cd .libs/libcxcore.lax/lib_cxcore.a && ar x /Users/adamb/opencv/trunk/opencv/src/./.libs/lib_cxcore.a) g++ -dynamiclib -single_module -o .libs/libcxcore.2.dylib .libs/dummy.o .libs/libcxcore.lax/lib_cxcore.a/cxalloc.o .libs/libcxcore.lax/lib_cxcore.a/cxarithm.o . libs/libcxcore.lax/lib_cxcore.a/cxarray.o .libs/libcxcore.lax/lib_cxcore.a/cxcmp.o .libs/libcxcore.lax/lib_cxcore.a/cxconvert.o .libs/libcxcore.lax/lib_cxcore. a/cxcopy.o .libs/libcxcore.lax/lib_cxcore.a/cxdatastructs.o .libs/libcxcore.lax/lib_cxcore.a/cxdrawing.o .libs/libcxcore.lax/lib_cxcore.a/cxdxt.o .libs/ libcxcore.lax/lib_cxcore.a/cxerror.o .libs/libcxcore.lax/lib_cxcore.a/cximage.o .libs/libcxcore.lax/lib_cxcore.a/cxlapack.o .libs/libcxcore.lax/lib_cxcore.a/ cxlogic.o .libs/libcxcore.lax/lib_cxcore.a/cxlut.o .libs/libcxcore.lax/lib_cxcore.a/cxmathfuncs.o .libs/libcxcore.lax/lib_cxcore.a/cxmatmul.o .libs/libcxcore. lax/lib_cxcore.a/cxmatrix.o .libs/libcxcore.lax/lib_cxcore.a/cxmean.o .libs/libcxcore.lax/lib_cxcore.a/cxmeansdv.o .libs/libcxcore.lax/lib_cxcore.a/cxminmaxloc.o .libs/libcxcore.lax/lib_cxcore.a/cxnorm.o .libs/libcxcore.lax/ lib_cxcore.a/cxouttext.o .libs/libcxcore.lax/lib_cxcore.a/cxpersistence.o .libs/libcxcore.lax/lib_cxcore.a/cxrand.o .libs/libcxcore.lax/lib_cxcore.a/cxsumpixels.o . libs/libcxcore.lax/lib_cxcore.a/cxsvd.o .libs/libcxcore.lax/lib_cxcore.a/cxswitcher.o .libs/libcxcore.lax/lib_cxcore.a/cxtables.o .libs/libcxcore.lax/lib_cxcore. a/cxutils.o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse -install_name /usr/ local/lib/libcxcore.2.dylib -Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0libs/libcxcore.lax/lib_cxcore.a/cxouttext.o .libs/libcxcore.lax/lib_cxcore.a/cxpersistence.o .libs/libcxcore.lax/lib_cxcore.a/cxrand.o .libs/libcxcore.lax/lib_cxcore. a/cxsumpixels.o .libs/libcxcore.lax/lib_cxcore.a/cxsvd.o .libs/libcxcore.lax/lib_cxcore.a/cxswitcher.o .libs/libcxcore.lax/lib_cxcore.a/cxtables.o .libs/ libcxcore.lax/lib_cxcore.a/cxutils.o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott - msse -install_name /usr/local/lib/libcxcore.2.dylib -Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0libs/libcxcore.lax/lib_cxcore.a/cxouttext.o .libs/libcxcore.lax/lib_cxcore.a/cxpersistence.o .libs/libcxcore.lax/lib_cxcore.a/cxrand.o .libs/libcxcore.lax/lib_cxcore. a/cxsumpixels.o .libs/libcxcore.lax/lib_cxcore.a/cxsvd.o .libs/libcxcore.lax/lib_cxcore.a/cxswitcher.o .libs/libcxcore.lax/lib_cxcore.a/cxtables.o .libs/ libcxcore.lax/lib_cxcore.a/cxutils.o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott - msse -install_name /usr/local/lib/libcxcore.2.dylib -Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0libs/libcxcore.lax/lib_cxcore.a/cxtables.o .libs/libcxcore.lax/lib_cxcore.a/cxutils.o -L/opt/local/lib -L/usr/local/share -L/usr/local/ lib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse -install_name /usr/local/lib/libcxcore.2.dylib -Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0libs/libcxcore.lax/lib_cxcore.a/cxtables.o .libs/libcxcore.lax/lib_cxcore.a/cxutils.o -L/opt/local/lib -L/usr/local/share -L/usr/local/ lib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse -install_name /usr/local/lib/libcxcore.2.dylib -Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0 未定義のシンボル: 「_dgesdd_」、参照元: cxsvd.o の _cvSVD cxsvd.o の _cvSVD 「_sgelsd_」、参照元: cxlapack.o の _cvSolve cxlapack.o の _cvSolve 「_ssyevr_」、参照元: cxlapack.o の _cvEigenVV cxlapack.o の _cvEigenVV 「_dgetrf_」、参照先: cxlapack.o の _cvDet cxlapack.o の _cvInvert 「_dgetri_」、参照元: cxlapack.o の _cvInvert cxlapack.o の _cvInvert 「_sgesdd_」、参照元: cxsvd.o の _cvSVD cxsvd.o の _cvSVD 「_dgels_」、参照元: cxlapack.o の _cvSolve cxlapack.o の _cvSolve 「_dgesv_」、参照先: cxlapack.o の _cvSolve 「_sgetrf_」、次から参照: cxlapack.o の _cvDet cxlapack.o の _cvInvert 「_sgetri_」、参照先: cxlapack.o の _cvInvert cxlapack.o の _cvInvert 「_dpotrf_」、次から参照: cxlapack.o の _cvInvert cxlapack.o の _cvSolve 「_dpotri_」、参照元: cxlapack.o の _cvInvert 「_dpotrs_」、次から参照: cxlapack.o の _cvSolve 「_sgels_」、参照元: cxlapack.o の _cvSolve cxlapack.o の _cvSolve 「_spotrf_」、次から参照: cxlapack.o の _cvInvert cxlapack.o の _cvSolve 「_spotri_」、参照元: cxlapack.o の _cvInvert 「_sgesv_」、参照先: cxlapack.o の _cvSolve 「_spotrs_」、参照元: cxlapack.o の _cvSolve 「_dgelsd_」、参照元: cxlapack.o の _cvSolve cxlapack.o の _cvSolve 「_dsyevr_」、参照元: cxlapack.o の _cvEigenVV cxlapack.o の _cvEigenVV ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました make[2]: *** [libcxcore.la] エラー 1 make[1]: *** [全再帰] エラー 1 make: *** [すべて] エラー 2
OpenCV の新しいバージョンである 1.1pre1 を使用してみましたが、同様のエラーが発生しますが、シンボルが異なります。上記と同じ ./configure を使用しています。
/Users/adamb/Downloads/opencv-1.1.0/otherlibs/highgui/./.libs/lib_highgui.a の抽出 (cd .libs/libhighgui.lax/lib_highgui.a && ar x /Users/adamb/Downloads/opencv-1.1.0/otherlibs/highgui/./.libs/lib_highgui.a) g++ -dynamiclib -o .libs/libhighgui.2.0.0.dylib .libs/dummy.o .libs/libhighgui.lax/lib_highgui.a/bitstrm.o .libs/libhighgui.lax/lib_highgui.a/cvcap.o . libs/libhighgui.lax/lib_highgui.a/cvcap_ffmpeg.o .libs/libhighgui.lax/lib_highgui.a/cvcap_images.o .libs/libhighgui.lax/lib_highgui.a/grfmt_base.o .libs/libhighgui.lax/lib_highgui. a/grfmt_bmp.o .libs/libhighgui.lax/lib_highgui.a/grfmt_exr.o .libs/libhighgui.lax/lib_highgui.a/grfmt_imageio.o .libs/libhighgui.lax/lib_highgui.a/grfmt_jpeg.o .libs/ libhighgui.lax/lib_highgui.a/grfmt_jpeg2000.o .libs/libhighgui.lax/lib_highgui.a/grfmt_png.o .libs/libhighgui.lax/lib_highgui.a/grfmt_pxm.o .libs/libhighgui.lax/lib_highgui.a/ grfmt_sunras.o .libs/libhighgui.lax/lib_highgui.a/grfmt_tiff.o .libs/libhighgui.lax/lib_highgui.a/image.o .libs/libhighgui.lax/lib_highgui.a/loadsave.o .libs/libhighgui.lax/lib_highgui.a/precomp.o .libs/libhighgui.lax/lib_highgui.a/utils.o .libs/libhighgui.lax/lib_highgui.a/window.o .libs/libhighgui.lax/lib_highgui.a/window_carbon. o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib ../../cxcore/src/.libs/libcxcore.dylib /opt/local/lib/libavformat. dylib /opt/local/lib/libavcodec.dylib ../../cv/src/.libs/libcv.dylib /Users/adamb/Downloads/opencv-1.1.0/cxcore/src/.libs/libcxcore.dylib /opt/local/lib/libjasper.dylib /opt/local/lib/libjpeg.dylib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse2 -framework ApplicationServices -Wl,-framework -Wl,Carbon -install_name /usr/local/lib/libhighgui.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-single_modulea/window_carbon.o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib ../../cxcore/src/.libs/libcxcore.dylib /opt/local/ lib/libavformat.dylib /opt/local/lib/libavcodec.dylib ../../cv/src/.libs/libcv.dylib /Users/adamb/Downloads/opencv-1.1.0/cxcore/src/.libs /libcxcore.dylib /opt/local/lib/libjasper.dylib /opt/local/lib/libjpeg.dylib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse2 -framework ApplicationServices -Wl,-framework -Wl ,Carbon -install_name /usr/local/lib/libhighgui.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-single_modulea/window_carbon.o -L/opt/local/lib -L/usr/local/share -L/usr/local/lib ../../cxcore/src/.libs/libcxcore.dylib /opt/local/ lib/libavformat.dylib /opt/local/lib/libavcodec.dylib ../../cv/src/.libs/libcv.dylib /Users/adamb/Downloads/opencv-1.1.0/cxcore/src/.libs /libcxcore.dylib /opt/local/lib/libjasper.dylib /opt/local/lib/libjpeg.dylib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse2 -framework ApplicationServices -Wl,-framework -Wl ,Carbon -install_name /usr/local/lib/libhighgui.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-single_moduledylib /opt/local/lib/libjasper.dylib /opt/local/lib/libjpeg.dylib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse2 -framework ApplicationServices -Wl,-framework -Wl,Carbon -インストール名 /usr/local/lib/libhighgui.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-single_moduledylib /opt/local/lib/libjasper.dylib /opt/local/lib/libjpeg.dylib -lavformat -lavcodec -lpthread -ldl -lm -march=prescott -msse2 -framework ApplicationServices -Wl,-framework -Wl,Carbon -インストール名 /usr/local/lib/libhighgui.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-single_module 未定義のシンボル: 「_av_rescale_q」、参照先: icv_av_write_frame_FFMPEG(AVFormatContext*, AVStream*, unsigned char*, unsigned int, AVFrame*) in cvcap_ffmpeg.o 「_img_convert」、以下から参照: cvcap_ffmpeg.o の CvCapture_FFMPEG::retrieveFrame() CvCap_ffmpeg.o の CvVideoWriter_FFMPEG::writeFrame(_IplImage const*) 「_av_free」、次から参照: cvcap_ffmpeg.o の icv_alloc_picture_FFMPEG(int, int, int, bool) cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() cvcap_ffmpeg.o の CvCapture_FFMPEG::close() 「_av_freep」、以下から参照: cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() cvcap_ffmpeg.o の CvVideoWriter_FFMPEG::close() 「_av_malloc」、次から参照: CvVideoWriter_FFMPEG::open(char const*, int, double, CvSize, bool) in cvcap_ffmpeg.o 「_av_sub_q」、次から参照: CvVideoWriter_FFMPEG::open(char const*, int, double, CvSize, bool) in cvcap_ffmpeg.o ld: シンボルが見つかりません
--enable-shared=no を追加すると、OpenCV はコンパイルされますが、プログラムは実行されません...
これらのいずれかをデフォルトの --enable-shared でコンパイルする方法に関する提案はありますか?