我在项目中包含了libzar.a,但是,即使我没有编写任何代码来引用libzar中的任何方法,我的项目仍然无法链接。这是错误输出,

Undefined symbols for architecture i386:


从以下位置引用的“ _CVPixelBufferGetBaseAddressOfPlane”
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

从以下位置引用的“ _CVPixelBufferGetBytesPerRowOfPlane”
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

“ _CVPixelBufferGetHeight”,引用自:
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

“ _CVPixelBufferGetWidth”,引用自:
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

从以下位置引用的“ _CVPixelBufferLockBaseAddress”
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

“ _CVPixelBufferRelease”,引用自:
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage setPixelBuffer:]

“ _CVPixelBufferRetain”,引用自:
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage setPixelBuffer:]

从以下位置引用的“ _CVPixelBufferUnlockBaseAddress”
      -libxxx.a(ZBarCVImage.o)中的[ZBarCVImage convertCVtoRGB]

“ _iconv”,引用自:
      libxxx.a(qrdectxt.o)中的_qr_code_data_list_extract_text

“ _iconv_close”,引用自:
      libxxx.a(qrdectxt.o)中的_qr_code_data_list_extract_text

“ _iconv_open”,引用自:
      libxxx.a(qrdectxt.o)中的_qr_code_data_list_extract_text

ld:找不到体系结构i386的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

这就是我所做的
  1.刚刚将libzar.a添加到我的项目中
  2.内置的应用程序
  3.错误

我的链接配置仅添加了-all_load和-ObjC选项。传统上,如果我从不引用静态库中的任何代码,则永远不会出现此类链接错误。我想念某事吗?

最佳答案

将CoreVideo.framework添加到“链接库的二进制文件”构建阶段应该可以解决这一问题。

关于ios - iOS:针对静态库时链接错误,即使我未引用该库中的任何代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13133576/

10-15 16:02