2012-03-07 28 views
0

我正在構建使用C++庫的基於音頻的iOS應用程序。一切都建立和Xcode中3和iOS 4當在設備上安裝時,Xcode的GDB顯示「警告:當前語言與此框架不匹配」

我的工作是構建並運行在模擬器上完全正常的應用程序,但在設備上安裝時安裝好,我得到以下錯誤:

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

問題是我在初始化音頻會話之前初始化音頻回調中的活動對象。如果您在模擬器上運行應用程序,這不是問題,但是在設備上運行時,Audio Callback無法找到應該在其中並且崩潰的對象!

因此修復這只是在初始化音頻會話之前初始化所述對象的問題。

0

您的C++實現文件應該重命名爲.mm(例如baseClass.mm)。試試看看它是否有效。

+0

實現文件已被重命名'.mm',所以我不認爲這是問題所在。 – Eric 2012-03-08 00:49:25

相關問題