我在我的项目中包含了libzar.a,但是,即使我没有编写任何代码来引用libzar中的任何方法,我的项目仍然无法链接。这是错误输出,
Undefined symbols for architecture i386:
“_CVPixelBufferGetBaseAddressOfPlane”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferGetBytesPerRowOfPlane”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferGetHeight”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferGetWidth”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferLockBaseAddress”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferRelease”,引用自: -[ZBarCVImage setPixelBuffer:] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferRetain”,引用自: -[ZBarCVImage setPixelBuffer:] in libxxx.a(ZBarCVImage.o)
“_CVPixelBufferUnlockBaseAddress”,引用自: -[ZBarCVImage convertCVtoRGB] in libxxx.a(ZBarCVImage.o)
“_iconv”,引用自: _qr_code_data_list_extract_text in libxxx.a(qrdectxt.o)
“_iconv_close”,引用自: _qr_code_data_list_extract_text in libxxx.a(qrdectxt.o)
“_iconv_open”,引用自: _qr_code_data_list_extract_text in libxxx.a(qrdectxt.o)
ld: 找不到架构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
这是我做的,
1. 刚刚将 libzar.a 添加到我的项目
2. 构建应用
3.错误
我的链接配置只添加了 -all_load 和 -ObjC 选项。传统上,如果我从不引用静态库中的任何代码,就永远不会出现这样的链接错误。我错过了什么吗?
最佳答案
将 CoreVideo.framework 添加到“将二进制文件与库链接”构建阶段应该可以解决这个问题。
关于iOS:链接错误而反对静态库,即使我没有引用该库中的任何代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13133576/