我并不认为这与Xcode 5.1有关。我已经解决了由于NSInteger等引起的所有64位相关警告,但我将一些现有代码移动到一个新项目中,并且我遇到了一些与指针类型相关的意外警告。此示例来自GCDAsyncSocket.m:
uint8_t *preBuffer;
size_t preBufferSize;
...
preBufferSize = <some number>;
preBuffer = malloc(preBufferSize);
这会产生错误:
GCDAsyncSocket.m:398:13: Assigning to 'uint8_t *' (aka 'unsigned char *') from incompatible type 'void *'
我知道如何修复此错误,但我的问题是,当涉及指针类型之间的隐式转换时,Xcode 5.1是否更改了规则?我试图在之前的项目中找到一个设置,可以解释它在过去编译时没有警告,更不用说错误,但我没有找到任何东西。
这只是许多人中的一个例子。如果有人能够解释为什么现在突然出现这个错误,我会很感激。