iOS:针对静态lib的链接错误,即使我没有引用该lib中的任何代码

时间:2012-10-30 06:08:54

标签: ios xcode linker static-linking

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

Undefined symbols for architecture i386:

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

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

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

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

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

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

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

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

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

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

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

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

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

我的链接配置只添加了-all_load和-ObjC选项。传统上,如果我从不引用静态库中的任何代码,那么它永远不会是这样的链接错误。我错过了吗?

1 个答案:

答案 0 :(得分:3)

将CoreVideo.framework添加到“Link Binary With Libraries”构建阶段应该清除它。