下面是從平時的混淆重複的符號錯誤一個不同的... :-)我如何說服Xcode發出重複的符號鏈接器錯誤?
我工作在具有相同的全局,「微量」的Xcode項目一些舊的Mac代碼,在若干規定不同的源文件 - 例如:
- File1.c:SInt32 trace;
- File2.c:布爾軌跡;
等等。很顯然,原作者意味着他們具有文件特定的範圍,但只是忽略了將這些行中的任何一行加上「static」。這很好,很容易修復。
但我有點震驚鏈接器不會標記這些!在我看來,Xcode的鏈接器(我假設gnu ld)只會爲鏈接到代碼段的函數發出重複的符號警告或錯誤 - 但不會鏈接到數據段中的全局變量。相反,它默默地混淆了它們,這導致了錯誤。
那麼......我該如何說服Xcode爲重複的全局變量發出鏈接錯誤?或者以其他方式獲取這些信息,這些信息可能是我構建的常規部分?
也許是項目範圍內的違規文章搜索,一旦你有一個實例? – MCannon 2011-03-23 21:51:31
嗯,是的,一旦你知道有問題的變量名稱是什麼,這就是修復的一部分。問題是,你怎麼首先找到他們?鏈接器知道有名稱衝突,問題是,你如何說服它投訴? – 2011-03-23 22:13:19
我暫時放棄了這個。 :-( – 2011-03-28 23:34:27