I am trying to integrate aurioTouch app functionality in my app but I am having problems because few portion of that app is written in C++ and for this I changed my .m file into .mm but still having issues. I have added the image. Please see/ How this error can be resolved?
2 に答える
私も同じ問題に直面し、長い間解決できませんでした。.cpp
本当の問題は、auriotouch のクラスをプロジェクトにインポートするときに始まります。通常、これを行っている間、多くのコンパイル エラーが発生し、リンカ エラーが発生することもあります。そう、
最初:
プロジェクト内のすべてのクラス ファイルの拡張子を から に変更し.m
ます.mm
。これにより、クラス ファイルがC++と目的の Cコードの両方をサポートするようになります。[そうでない場合、複数のコンパイルの問題に直面することになります]
2 番目: Project->Targets-> build phases-> Compile sources.m
でクラス ファイル ( 、.mm
または.cpp
)
をインポートしたかどうかを確認します。 [そうでない場合、リンカー エラーが発生します]
3 番目: クラス ファイルでグローバル変数が適切に宣言されているかどうかを確認してください。[そうでない場合、シンボルの重複エラーが表示される場合があります]
これを読んでください: https://stackoverflow.com/a/4714727/88461
Objective-C も使用する必要がある C++ コードを含む .cpp ファイルがある場合は、その .cpp ファイルの名前を .mm に変更するか
-x objective-c++
、コンパイラに渡します。