在Debug(Objective-C)中编译时77个无符号长const警告

fuz*_*uzz 5 cocoa-touch warnings constants objective-c

只是想知道为什么我会在构建我的应用程序时在Debug(iPhone模拟器)中获得1个警告并在Debug(iPhone设备)中获得77个警告!

除了"默认隐藏的符号"(因为这不起作用)之外,我可以在项目设置中修改某些内容以从构建中删除这些警告吗?我想念绿色的Build Successful酒吧.

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
Run Code Online (Sandbox Code Playgroud)

jus*_*tin 1

(这与你问题的后半部分有关)

我建议:

GCC_INLINES_ARE_PRIVATE_EXTERN = NO
GCC_SYMBOLS_PRIVATE_EXTERN = NO
Run Code Online (Sandbox Code Playgroud)

您需要为每个目标/对象/配置使用相同的设置。在应用这些开关之前只需了解它们的作用,因为更改这些设置可能会引入错误。使用标准 C++ 技术,可以轻松开发安全使用这些开关的库。(参考:ODR)