gpt4 book ai didi

iphone - 如何在我的项目中使用几个 C++ 文件而不将每个文件都编译为 C++?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:56 25 4
gpt4 key购买 nike

我有一个带有基础 View Controller 类的项目,它被大约 25 个其他 View Controller 继承。现在我需要在该基类中使用一些核心音频,因此我正在集成一个使用 C++ 的音频类(改编自 Apple 的 aurioTouch 示例项目)。基类导入 Audio 类的 header ,然后初始化一个 Audio 对象,以便我可以调用 Audio 类中的方法。

当我编译时,我在 Audio 类中收到诸如“expected '=', ',', ';', 'asm' or 'attribute' before '!=' token”之类的错误及其辅助类,因为编译器被 C++ 语法绊倒了。如果我将基类的扩展名更改为 .mm,我会得到同样的错误;我想我还必须更改从基类继承的所有类的扩展。

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

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

最佳答案

实际上,将使用 C++ 功能的 .m 文件重命名为 .mm 就足够了。你必须确保你的类的头文件中没有包含任何 C++ 头文件,否则其他非 C++ 类将疯狂地尝试包含你的类的头文件。

关于iphone - 如何在我的项目中使用几个 C++ 文件而不将每个文件都编译为 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com