Xcode:链接终结器时忽略符号警告

时间:2015-01-22 09:49:57

标签: ios objective-c xcode linker

我在将终结器集成到xcode项目时遇到问题我收到类似这样的警告

Warning: Ignored symbols were detected in this build. In some cases ignored symbols could cause incorrect finalization. This may be caused by different static libraries containing the same symbol.
warning: no debug symbols in executable (-arch armv7)

还有像这样的长列表

Ignored symbol '_int_update' defined at address 0xfb2cc -- it was already defined at 0xd2c94
Ignored symbol '_init' defined at address 0xfcbd8 -- it was already defined at 0xfcba4
Ignored symbol '_update' defined at address 0xfcbe4 -- it was already defined at 0xfcbb0
Ignored symbol '_final' defined at address 0xfcbf0 -- it was already defined at 0xfcbbc

任何帮助或建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果在具有相同名称的所有可重定位目标文件中定义了2个或更多符号,则链接器将选择其中一个符号,其他符号将被忽略。

如果这些符号具有不同的类型,则可能会在运行时导致难以理解的错误。

Computer Systems_A Programmer-'s Perspective的第7章中有一个例子:

enter image description here