2010-12-01 14 views
5

想知道是否有人知道在構建我的應用程序時,爲什麼我會在Debug(iPhone Simulator)中獲得1個警告,在Debug(iPhone設備)中收到77個警告!在Debug中編譯時出現的無符號長const警告(Objective-C)

有沒有什麼我可以在我的項目設置中修改,而不是「默認符號隱藏」(因爲它沒有工作)從構建中刪除這些警告?我想念綠色建築成功吧。

ld: warning: unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&)has different visibility (default) in /Users/fulvio/Projects/zxing/iphone/ZXingWidget/build/Debug-iphoneos/libZXingWidget.a(QRCodeReader-C190599C861BFE46.o) and (hidden) in /Users/fulvio/Projects/MyApp/build/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/ScanViewController.o 

回答

1

(這涉及到你的問題的後半部分)

我建議:

GCC_INLINES_ARE_PRIVATE_EXTERN = NO 
GCC_SYMBOLS_PRIVATE_EXTERN = NO 

你要爲每一個目標/目的/配置相同的設置。只需瞭解這些開關在應用之前做了什麼,因爲您可能會通過更改這些設置來引入錯誤。使用標準的C++技術,開發一個安全使用這些開關的庫很容易。 (ref:ODR)

-1

你可以解決警告指出的問題,應該這樣做。

+1

你應該爭取一個乾淨的編譯。你不應該試圖在地毯下掃描77條警告。 – 2011-01-05 02:49:10

1

至於爲什麼你可能會有不同的警告:對於一個體繫結構可能真正內聯函數,並且可能不會發射功能副本。

相關問題