몇 가지 C++ 클래스로 iOS 프로젝트에서 작업 중입니다. 그러나 그것들을 컴파일하는 것은 직설적이지 않습니다. 나는 여러 가지 방법을 피곤하지만 항상 오류가 있습니다.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