为什么函数MyFunc()存在于.o文件中,却不存在于.so文件中? 示例.o文件:
didEndDisplayingCellAtIndexPath
在.so文件中,我看不到函数“ MyFunc”。
答案 0 :(得分:0)
我明白了。我的麻烦之所以发生,是因为我错误地声明了声明函数的方法。
我忘了澄清一下,我是从星号1.4传输旧代码。星号13.21。 (http://downloads.asterisk.org/pub/telephony/asterisk/) 注意:在此项目中定义导出功能的方式为asterisk公司(自13版本开始)。 因此,为了使导出的功能在“ .so”文件中可用,这些功能必须在文本文件中明确指定(前缀为“ LINKER_SYMBOL_PREFIX”),该名称与源文件的名称相同,但扩展名为“ .exports.in”,例如:
myfile.h (contains: int MyFunc();)
myfile.c (contains: int MyFunc(){})
myfile.exports.in (contains: LINKER_SYMBOL_PREFIXMyFunc)
编译后,所有需要的功能将在“ myfile.so”中可用。 那是设计。
非常感谢大家。