我正在研究一个iOS项目,其中有几个C++类。但是,编译它们似乎并不直接。我厌倦了不同的方法,但一直都会给出一些错误。C++ Xcode iOS项目错误
1)首先,我将.m;类重命名为.mm并尝试编译,并给出错误。在此行
SInt16 *editBuffer = audioBufferList->mBuffers[0].mDat;
Error - "Cannot initialize a variable of type 'SInt16 *' (aka 'short *') with an lvalue of type 'void *'"
2)当设置其它链接器标记将-ObjC++它给这两个错误。 未知类型名称'class';你的意思是'班'?
'deque' file not found - for #include<deque>
任何人有任何想法,这里有什么问题。提前致谢。
链接器标志不会影响编译器。您是否尝试过为Objective-C++设置编译器选项? –
是的,它给出了错误编号1. – Waruna
第一个错误是由于不兼容的类型造成的。如果我对CoreAudio的这种假设是正确的,audioBufferList-> mBuffers [0] .mDat是缓冲区地址。指向相同缓冲区的SInt16 *和void *类型在涉及指针数学时不会表现相同。您需要将void *转换为SInt16 *,或者将editBuffer重新输入为符合类型,如void *或char *。 – CuriousRabbit