在ios objective-c项目中导入、使用和编译单个c++头文件
Import, use and compile a single c++ header file in an ios objective-c project
我相信答案很简单,但我面临着以下问题…
我想在ios objective-c xcode项目中使用这个c++头文件caaudiounitoutputcapture .h(只有一个。h文件)。
有人能告诉我如何消除编译错误,并给我一个例子,如何在Objective-C上下文中使用?
编辑,我得到这个错误:
CAAudioUnitOutputCapturer.h:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CAAudioUnitOutputCapturer'
目前,编译器正试图将您的文件构建为纯Objective C,这导致了这些错误。将要编译的文件重命名为myFile.mm
(注意mm
扩展名)。这将迫使编译器将其视为Objective c++代码,由于您包含的头文件,它确实是。
任何使用caaudiounitoutputcapture类的文件必须是objective - c++而不是Objective-C。您可以使用。mm扩展名来代替。m。
在.mm文件中,你可以混合使用Objective-C类和c++类。
这里是一些关于objective - c++的信息
使用CAAudioUnitOutputCapturer.h
的文件必须是Objective c++文件(默认扩展名.mm
)或c++文件(扩展名.cpp
或.cc
)。如果你试图在Objective C(扩展名.m
)文件中使用它们,你会得到错误,因为编译器期望的是Objective C,而不是c++。
我希望你有包含CAAudioUnitOutputCapturer
类(编译)代码的对象文件或库文件,否则你的.h
文件是无用的。
相关文章:
- 通过命令行在Visual Studio中编译单个独立文件
- 在 Visual Studio 中的 1 个项目中编译单个 C++ 源文件
- 为什么 std:set(带有单个冒号)可以编译?
- c++ 是否保证标头初始化的静态 const 成员跨编译单元和库共享单个实例?
- 使用单个makefile编译C和C++
- C++ 在多个其他类中使用单个类 - 编译时出现多个定义错误
- C Visual Studio代码不使用工作区中的单个文件夹编译
- 在单个makefile目标中同时编译C和CPP源
- 将大小为编译时常量的数组初始化为单个值
- 无法在 Netbeans 中编译单个C++文件,但能够生成完整的项目
- 在 netbeans 中编译项目中的单个文件
- 在 Visual Studio 中为单个解决方案编译和使用多个项目
- 覆盖单个文件的编译标志
- qmake:将单个cpp文件编译为可执行文件
- CMake-删除单个翻译单元的编译标志
- 在 Visual Studio 2010 中编译单个C++文件
- 在ios objective-c项目中导入、使用和编译单个c++头文件
- 编译单个文件并与其他 .o 文件链接时是否可以进行核心转储
- 在 CMake 项目下编译单个文件
- visual studio 2010 -编译单个文件,不需要IDE, c++