有时,我遇到这样的错误:
编译opencv框架的未知错误:未定义符号:“_CGImageDestinationCreateWithURL”
在我与 ImageIO.framework 链接后,我得到了完全相同的错误,一切都解决了。但是我怎么知道缺少的框架是 ImageIO 呢?有什么技巧可以查出来吗?或者 Xcode 可以帮我找出答案吗?
有时,我遇到这样的错误:
编译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 框架。