簡體   English   中英

編譯Objective-C ++代碼時,如何找到缺少的庫?

[英]How can I find which library I am missing when I compile my Objective-C++ code?

有時候,我遇到這樣的錯誤:

編譯opencv框架時發生未知錯誤:未定義符號:“ _ CGImageDestinationCreateWithURL”

與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框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM