在Xcode项目中,我收到了一个奇怪的警告。它是什么,是一件坏事?
这是警告:
Project' Little Hoot' - 启用推荐警告 这将启用以下建议的编译器警告:
它也建议我更新另一个设置。
目标' Little Hoot' - 更新C ++标准库 ' libstdc ++'不推荐使用C ++标准库。这将更新Target' Little Hoot'到编译器默认值',这是推荐值。
我已经在线查看,至少在第一次警告时我找不到答案。
答案 0 :(得分:4)
“可疑移动”项目/目标设置似乎控制LLVM / Clang中的-Wmove
编译器警告选项,该选项包含3个其他警告选项:-Wpessimizing-move
,-Wredundant-move
和-Wself-move
。
这些选项会产生以下警告:
warning: moving a temporary object prevents copy elision
warning: moving a local object in a return statement prevents copy elision
warning: redundant move in return statement
warning: explicitly moving variable of type A to itself
(来自http://clang.llvm.org/docs/DiagnosticsReference.html的Clang文档)
因此,无论您接受建议并启用警告,还是没有警告,这可能都不是什么大问题。你不会被告知你是否因为这些可疑动作而变慢了。
答案 1 :(得分:0)
我最近在设置新项目时也收到了来自Xcode的消息。我的步骤是从文件中删除引用(例如Info.plist),直接在Finder上创建文件夹,以及将文件添加回Xcode。我想这是一个安全功能,但如果你的情况与我的情况一样,那只是一个警告。
答案 2 :(得分:0)
这两个警告都指的是项目中的设置未反映建议的默认值。在升级您的Xcode版本或将旧项目导入更高版本的Xcode之后,它们可能都被触发了。
除非您有充分理由不这样做,否则最好遵循建议。最简单的方法是单击警告旁边的黄色三角形,并允许Xcode对设置进行适当的更改。
答案 3 :(得分:0)
除了迂腐警告,未使用的参数和自动合成属性外,您应该打开所有警告;这三个警告警告了大量良好的代码。静态分析器警告也是如此。
然后你看看你得到了什么警告并修复它们。如果您之前没有这样做,那么我估计所有警告中有20-40%是您代码中的实际错误。
答案 4 :(得分:0)
您将能够see warning detail in issue navigator section
。您可以通过选择问题来解决问题。这将显示一条警告,说明要在项目设置中进行必要的更改。
点击执行更改按钮。这将在项目设置中进行必要的更改,从而删除此警告。