我正在尝试在我的应用程序中集成aurioTouch应用程序功能,但我遇到了问题,因为该应用程序的一小部分是用C ++编写的,为此我将.m文件更改为.mm但仍有问题。我添加了图片。请参阅/如何解决此错误?
答案 0 :(得分:1)
我也面临同样的问题,很长时间都无法解决问题。将auriotouch的.cpp
类导入到项目中时,真正的问题就出现了。通常,在执行此操作时,我们会遇到大量编译错误,有时会遇到链接器错误。所以,
<强>首先:强>
将项目中所有类文件的扩展名从.m
更改为.mm
。这将使您的类文件同时支持 C ++ 和 目标C 代码。 [如果不是,您将面临多个编译问题]
<强>第二强>
检查您是否已在 项目 - &gt;目标 - &gt;中导入了类文件(.m
,.mm
或.cpp
)。构建阶段 - &gt;编译来源 。 [如果不是,您将面临链接器错误]
<强>第三强> 尝试检查您是否在类文件中正确声明了全局变量。 [如果不是,则可能会显示重复的符号错误]
答案 1 :(得分:0)
阅读本文: https://stackoverflow.com/a/4714727/88461
如果您的.cpp文件包含需要使用Objective-C的C ++代码 好吧,要么将.cpp文件重命名为.mm,要么将
-x objective-c++
传递给 编译器。