2012-07-26 81 views
1

我在Xcode 4.3移动到新的4.4版本刚刚发布,现在得到这种性质的几十个链接器警告是关于这个警告的一些其他问题,似乎通过确保-fvisibility=hidden -fvisibility-inlines-hidden到处都是,然后进行全面重建来解决,但是这并没有解决我的情况中的警告。我进行了三重检查,其中包括C++文件,Objective C++文件和预编译头文件,所有编译都有-fvisibility=hidden -fvisibility-inlines-hidden。我已经完成了重建,包括为我的项目清除了Xcode的DerivedData。似乎没有任何帮助。符号可见链接器警告4.4

这些警告在Xcode 4.3下没有发生,但是我没有另外一个Mac 4.3以上的版本可以返回并进行完整性检查。我还在运行狮子。

另一个奇怪的是,该项目有一个外部的SCons构建系统,它使用Xcode 4.4命令行工具与-fvisibility=hidden -fvisibility-inlines-hidden构建了所有相同的代码,并且它不报告任何这些链接器警告(两个版本都是相同的编译器版本例)。

我会继续挖掘,但任何专家洞察力将不胜感激。也许这是我不知道的Xcode 4.4变化?

谢谢。

+0

它看起来似乎警告来自我的字符串<>类模板内部全局对象或静态变量的使用。 String <>模板类是__attribute __((visibility(“default”))),所以我不确定它是如何成为一个全局弱符号?它被实例化为字符串和String ,并且这两个类都会发出警告。我试着将__attribute __((visibility(“default”)))添加到typedefs,但没有任何区别。 – 2012-07-26 13:29:21

回答

2

事实证明,我需要从我的.framework构建和.app构建中删除-fvisibility-inlines-hidden,这使得警告消失。