首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS8.1和openAL声音OAL.m中出现警告?

在iOS8.1和openAL声音OAL.m中出现警告?
EN

Stack Overflow用户
提问于 2015-02-17 22:49:33
回答 2查看 59关注 0票数 1

我在Xcode6.1.1(用Xcode5.x制作)中打开了一个旧的游戏项目,在使用iPad空气模拟器的模拟器中启动它,在编译它之后发现在这个文件的许多行中的SoundOAL.m中有很多奇怪的警告。他们通常是这样说的:

代码语言:javascript
复制
"Incompatible pointer types passing 'NSUInteger *' (aka 'unsigned long *') to parameter of type 'ALuint *' (aka 'unsigned int *')"

我想我知道它是什么意思(ps:应用程序工作没有问题),但我想知道是否有什么东西已经改变了,需要我来改变。我试图在iOS 8文档中找到一些东西,但我什么也读不到。也许有人更了解它?

EN

回答 2

Stack Overflow用户

发布于 2015-02-17 22:52:05

他们是警告,因为他们现在是64位的支持。你可以忽略它们,但是如果你看到任何意想不到的结果,你应该看看那里。

票数 1
EN

Stack Overflow用户

发布于 2016-07-05 20:01:13

由于iOS设备支持64位,因此NSUInteger是64位的。您的代码正在将一个指向NSUInteger的指针传递给一个接受ALuint的方法,在al.h中将其定义为32位:

代码语言:javascript
复制
/** unsigned 32-bit integer */
typedef unsigned int ALuint;

要删除编译器警告,请将NSUInteger变量类型更改为ALuint或在适当的地方强制转换它们,例如:

代码语言:javascript
复制
alSourceStop((ALuint)sourceID);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28564129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档