我正在构建一个使用C ++库的基于音频的iOS应用。在Xcode 3和iOS 4上构建和安装的一切都很好。
我正在开发一款在模拟器上构建并运行完美的应用程序,但在设备上安装时,我收到以下错误:
Current language: auto; currently objective-c++
Warning: the current language does not match this frame.
其中一个C ++头文件(baseClass.h
)中有一个EXC_BAD_ACCESS。文件类型为Default C header
,实现文件(baseClass.cpp
)的文件类型为Default - C++ source
。我尝试将标题的文件类型更改为C++ header
,但问题仍然存在。
为什么GDB说这是一个语言问题?
答案 0 :(得分:0)
您的c ++实施文件应重命名为.mm
(例如baseClass.mm
)。试试看,看看它是否有效。
答案 1 :(得分:0)
问题是我在初始化音频回调中活动的对象之前初始化了音频会话。如果您在模拟器上运行应用程序,这不是问题,但是当在设备上运行时,音频回调无法找到应该在其中的对象并崩溃!
所以解决这个问题只是在初始化音频会话之前初始化所述对象。