0

QT と OpenCV を使用するプログラムを構築しようとしています。正しくコンパイルされますが、アプリケーションを実行すると次のようになります。

Starting /Users/Me/MyApp/Contents/MacOS/Foo...
dyld: Library not loaded: /usr/local/lib/libavformat.54.29.104.dylib
  Referenced from: /usr/local/lib/libopencv_highgui.2.4.3.dylib
  Reason: image not found
The program has unexpectedly finished.
/Users/Me/MyApp/Contents/MacOS/Foo exited with code 0

/usr/local/libファイルはそこに適切にリンクされています。問題は、現在libavはより高いバージョンであり、opencvこれを反映していないことです(たとえば、16 進エディターで opencv dylib を見ると、それが何を望んでいるかがわかります)上記のように書かれていますが、実際に私の lib フォルダーにあるのは、たとえば version54.59.106ですbrew update/upgrade

問題のあるdylibをコピーして古いバージョンに名前を変更することで、簡単に修正できます。これにより、プログラムは正しく開きますが、ちょっとしたハックです。

明らかに、関連するライブラリを再インストールすることでこれを修正できますが、それには貴重な時間がかかります..このスレッドからは、それが唯一のオプションのようですが、まだ修正されているかどうかはわかりません: /mxcl/自作/問題/11832

4

1 に答える 1

1

これを修正する唯一の方法は、実行することだったようです:

brew rm ffmpeg && brew install ffmpeg

brew rm opencv && brew install opencv

おそらくffmpegを再構築する必要はありませんでしたが、害はありませんでした. これは、パッケージがメジャーな新しいバージョンに更新され、他のパッケージがまだ更新されていない場合に発生することがあります。

于 2013-01-17T16:47:44.393 に答える