日期:2014-05-16  浏览次数:20742 次

请教 undefined reference to的问题
我编译成功了libfaad.a,把这个文件和libfaad下面include目录的2个头文件拷贝到ffmpeg下面,./config -enable-libfaad等成功,但是在进入libavcodec目录,并执行make命令时,在生成libfaad.o之后,连接时出现下面的错误:
/ffmpegwm5/libavcodec/libfaad.c:316: undefined reference to `NeAACDecClose'
/ffmpegwm5/libavcodec/libfaad.c:316: undefined reference to `NeAACDecOpen'

而这两个函数我都在libfaad.a上能找到符号的,请问各位大虾知不知道怎么回事? 谢谢。

------解决方案--------------------
不知道怎么回事,
把libfaad的源码直接copy到libfaad.c中不知行不行
------解决方案--------------------
可以修改下Makefile,一般都有一个libs= 。。。的变量,把libfaad.a添加进去。不知道你编译的是什么,只能这样猜测下了,你试试吧。
------解决方案--------------------
The fix was to rename the FFMPEG pkgconfig files (avcodec.pc and avutil.pc and all the other av*.pc files) in /usr/lib/pkgconfig so that xine-lib 's configure couldn't find them. This would make xine-lib's configure use its own internal FFMPEG - this made the above linker error go away. Yay!
------解决方案--------------------
下周才进入linux领域,帮不了你了。
------解决方案--------------------
把#include "xxx.h"改为 #include "xxx.c"