我如何在我的项目中使用几个c++文件,而不将每个文件编译为c++

How can I use a few C++ files in my project without compiling every file as C++?

本文关键字:文件 c++ 编译 几个 项目 我的      更新时间:2023-10-16

我有一个基本视图控制器类的项目,它被大约25个其他视图控制器继承。现在我需要在那个基类中使用一些核心音频,所以我集成了一个使用c++的音频类(改编自Apple的aurioTouch示例项目)。基类导入Audio类的头文件,然后初始化一个Audio对象,这样我就可以调用Audio类中的方法。

当我编译时,我得到错误,如"expected " =', ',', ';', 'asm'或'属性' before '!在Audio类及其辅助类中=' token",因为编译器被c++语法绊倒了。如果我将基类的扩展名更改为。mm,我会得到相同的错误;我想我还必须更改所有从基类继承的类的扩展。

有办法避免这种情况吗?换句话说,我如何才能在不改变项目其余部分的情况下编译最少数量的c++文件——理想情况下只有Audio类,或者Audio类和基类?

我问这个问题的原因是,这一点音频大约占应用程序功能的0.5%,而仅仅因为这一个小的添加而改变几十个文件以不同的方式编译似乎是错误的。

将使用c++功能的.m文件重命名为.mm应该足够了。你必须确保在你的类的头文件中不包含任何c++头文件,否则其他非c++类会疯狂地试图包含你的类的头文件。