我们都知道,在Objective-C (.m)文件中引入一个C++的文件(.cpp)的头文件时,要将该.m文件更改为.mm文件,例如:
但是AQRecorder *recorder;这一行报错:expected specifier-qualifier-list before AQRecorder
看到这个我就奇怪了,已经将文件类型改为.mm了,为什么还是没有识别C++类.
经过很长时间的查看代码,发现,原来调用MixerHostViewController.h的文件MixerHostAppDelegate是.m类型的,尝试着将文件名改为.mm后,编译通过。
由此,可以知道,一旦要在某个OC 类中引用C++头文件,那么调用这个OC的头文件的 类也要使用.mm的文件名(算废话么?)