2012-07-26 87 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,這使得警告消失。