在cocoa应用程序中添加静态库的问题

时间:2010-02-19 12:10:43

标签: cocoa

我有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
—-

你有什么问题吗?

非常感谢。

2 个答案:

答案 0 :(得分:1)

提供[test initialize]方法的实现。还提供用于构建静态库的配置命令。

尝试重建库,如果库包含在目标中并且正确配置了头搜索路径,则可以通过allcodecs.c文件直接访问方法avcodec_register_all。可能是图书馆腐败了,就像tedge说的那样。

答案 1 :(得分:0)

正如完整性检查一样,验证您的库文件是否包含预期符号;在终端窗口中键入此内容(用正确的路径替换path / to):

nm -g /path/to/libavcodec.a | grep avcodec_register_all

(如果命令的输出只是一个空行,那么库文件可能已损坏)。