簡體   English   中英

如何在我的項目中使用幾個C ++文件而不將每個文件都編譯為C ++?

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

我有一個帶有基本視圖控制器類的項目,該項目由大約25個其他視圖控制器繼承。 現在,我需要在該基類中使用一些核心音頻,因此我正在集成一個使用C ++的Audio類(改編自Apple的aurioTouch示例項目)。 基類將導入Audio類的標頭,然后初始化Audio對象,以便我可以在Audio類中調用方法。

編譯時,在Audio類及其助手類中出現“!=”,“,”,“;”,“ asm”或“ attribute ”在“!=”標記之前的錯誤,因為編譯器跳閘了在C ++語法上。 如果將基類的擴展名更改為.mm,則會出現相同的錯誤; 我想我還必須更改從基類繼承的所有類的擴展。

有辦法避免這種情況嗎? 換句話說,如何在不更改項目其余部分的情況下,僅編譯最少數量的C ++文件(理想情況下,僅編譯Audio類,Audio類和基類)?

我問的原因是這部分音頻大約占應用程序功能的0.5%,僅由於添加了少量內容,更改數十個文件以進行不同的編譯似乎是錯誤的。

將使用C ++功能的.m文件重命名為.mm實際上就足夠了。 您必須確保您的類的頭文件中沒有包含任何C ++頭,否則其他非C ++類會在嘗試包括您的類的頭文件時發瘋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM