自己的exe调用ffmpeg动态库提示函数A未定义的引用
开发环境是x86_64, linux-ubuntu18.04, 在ffmpeg的源码里添加了一个函数接口A,函数声明在avcodec.h(供可执行文件调用的头文件),定义在utils.c中,重新编译ffmpeg成功后,使用nm -D命令查看新生成的动态库libavcodec.so ,发现没有找到函数A的符号,另外使用readelf -s libavcodec.so | grep A 发现该符号的bind标识(字段)为LOCAL,其他正常外部接口符号的bind都是global,所以我想知道为何会有这个不同?
另外提供一些其他信息: 使用nm -l 查看utils.o,能够找到符号A 并且显示的标识是T,我就认为该对象文件内正确包含了函数A的定义,静态库可以理解为对象文件的串联,且可以查到符号A的标识为T,但是为何单单动态库中没有正确包含函数A呢??