我有liavcodec.a这个库的静态库和头文件。
libavcodec.a
我将这个库及其头文件添加到我的项目中,没有错误。我可以在Target-> Info-> General中看到这个库,我也编辑了标题搜索路径。
我也可以将头文件#import“avcodec.h”添加到xcode项目中。我可以使用在该文件结构中声明的所有变量。但我试图使用该类中的任何函数,我得到一些错误,如
Test.m
—-
“-avcodec_register_all”, referenced from:
-[Test initialize] in Test.o
Symbol(s) not found
collect2: id returned 1 exit status
—-
你有什么问题吗?
非常感谢。
答案 0 :(得分:1)
提供[test initialize]方法的实现。还提供用于构建静态库的配置命令。
尝试重建库,如果库包含在目标中并且正确配置了头搜索路径,则可以通过allcodecs.c文件直接访问方法avcodec_register_all。可能是图书馆腐败了,就像tedge说的那样。
答案 1 :(得分:0)
正如完整性检查一样,验证您的库文件是否包含预期符号;在终端窗口中键入此内容(用正确的路径替换path / to):
nm -g /path/to/libavcodec.a | grep avcodec_register_all
(如果命令的输出只是一个空行,那么库文件可能已损坏)。