有時,我遇到類似這樣的錯誤:如何在編譯我的Objective-C++代碼時找到缺少哪個庫?
Unkown error compiling opencv framework
我提取了同樣的錯誤,在我與ImageIO.framework,一切就迎刃而解了聯繫。但是我怎麼能知道丟失的框架是ImageIO?有沒有什麼技術可以找到?或者XCode能幫我找出答案?謝謝。
有時,我遇到類似這樣的錯誤:如何在編譯我的Objective-C++代碼時找到缺少哪個庫?
Unkown error compiling opencv framework
我提取了同樣的錯誤,在我與ImageIO.framework,一切就迎刃而解了聯繫。但是我怎麼能知道丟失的框架是ImageIO?有沒有什麼技術可以找到?或者XCode能幫我找出答案?謝謝。
如果仔細查看錯誤消息,您會發現xcode正在告訴您缺少什麼。
Undefined symbols: "_CGImageDestinationCreateWithURL", referenced from:
cv::ImageIOEncoder::write(cv::Mat const&, std::vector > const&)
in OpenCV(grfmt_imageio.o)
好的,第一搜索像列出未定義的符號:-CGImageDestinationCreateWithURL。然後看看未定義的符號來自的類的頭文件。對於CGImageDestinationCreateWithURL,它是CGImageDestination.h。看看頭文件的頂部,並檢查是否有所有他們導入的框架。在你的情況下,它是#include <CoreGraphics/CoreGraphics.h>
和#include <ImageIO/CGImageSource>
和另一個ImageIO導入。這應該告訴你,你必須導入CoreGraphics框架和ImageIO框架。
這不是「未知錯誤」,它是「未定義符號錯誤」。搜索缺失的符號可能是一個好的開始。 –
未定義的符號只是編譯器告訴你它需要符號的定義。 ImageIO.framework提供了這個定義。 – d00dle