2013-01-16 11 views
0

我正在嘗試構建一個使用QT和OpenCV的程序。它編譯正確的,但是當我運行該應用程序我得到:更新一個dylib來引用正確版本的其他dylibs(自制軟件)

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沒有反映出這一點(例如,在十六進制編輯器中查看opencv dylib,我發現它需要上面所說的內容,但實際上在我的lib文件夾中的內容是:例如版本54.59.106。我試過運行brew update/upgrade並重新鏈接所有內容,但是沒有

我可以通過複製違規的dylibs並將它們重命名爲舊版本來做出快速修復。 e程序正確打開,但這有點破解。

很顯然,我很可能與有關圖書館的重裝解決這個問題,但那要花費寶貴的時間..從這個線程好像是唯一的選擇,但我不知道這是已修復尚未:https://github.com/mxcl/homebrew/issues/11832

回答

1

似乎想解決這個問題的唯一方法是運行:

brew rm ffmpeg && brew install ffmpeg

brew rm opencv && brew install opencv

也許並不需要repour ffmpeg的,但我沒看到它傷害了它。發現這種情況有時會發生,當一個軟件包更新到一個主要的新版本時,另一個軟件包還沒有被更新。

相關問題