77 unsigned long const warnings when compiling in Debug (Objective-C)
Just wondering whether anyone knows why I would be getting 1 warning in Debug (iPhone Simulator) and 77 warnings in Debug (iPhone Device) when building my application!?
Is there something I can modify i开发者_如何学JAVAn my project settings other than "Symbols Hidden by Default" (since that didn't work) to remove these warnings from the build? I miss the green Build Successful bar.
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
(this relates to the second half of your question)
i recommend:
GCC_INLINES_ARE_PRIVATE_EXTERN = NO
GCC_SYMBOLS_PRIVATE_EXTERN = NO
you'll want identical settings for every target/object/configuration. just understand what these switches do before applying them, since you may introduce bugs by changing these settings. using standard c++ techniques, it's easy to develop a library that is safe using these switches. (ref: ODR)
as to why you may have different warnings: the functions may be truly inlined for one architecture, and the function copy may not be emitted.
You could fix the problem the warnings are pointing out, that should do it.
精彩评论