1. ホーム
  2. アンドロイド

MAC: -fno-rtti と共に typeid を使用することはできません。

2022-03-20 21:20:21

1. コマンドラインで jni ファイルをコンパイルする場合、~/.bash-profile に SDK と NDK の環境変数を追加してください。

export PATH=$PATH:/Users/admin/AndroidForMac/AndroidNDK/android-ndk-r10e:/Users/admin/AndroidForMac/AndroidSDK



 2. error: typeid with -fno-rtti cannot use typeid with -fno-rtti

APP_STL := gnustl_static

使用するには、Application.mk で APP_STL を 'gnustl_static' に定義してください。



詳細は docs/CPLUSPLUS-SUPPORT.html をご覧ください。



この実装では、C++の例外処理とRTTIを完全にサポートしています。

ただし、ndk-buildツールでコンパイルすると、コンパイラがRTTIをオフにしているため、 "error: cannot use typeid with -fno-rtti" というエラーが報告されますので、この時点でApplication.mkファイルに追記する必要があります。

APP_CPPFLAGS := -fexceptions -frtti (RTTIが有効)