2011-09-15 10 views
4

は、次のエラーが表示されますCygwinでRTTIを有効にするにはどうすればよいですか?私のAndroid NDK C++のネイティブコードをコンパイルすると

error: 'dynamic_cast' not permitted with -fno-rtti

誰かがRTTIをオンにするために私に言ったが、私は何をする方法を知りませんでした。 Application.mkまたは何を変更する必要がありますか?

Application.mk

# it is needed for ndk-r5 

APP_STL := stlport_static 

APP_ABI := armeabi armeabi-v7a 

APP_MODULES := cocos2d cocosdenshion chipmunk box2d tempestkeep 

私はいくつかの.oファイルにAPP_CPPFLAGS += -frttiを追加し、別のエラーが表示されます:あなたはApplication.mkで-fno-rtti gccのオプションを削除する必要があるよう

undefined reference to `typeinfo for std::ios_base'

答えて

2

が見えます。 Application.mkの変数APP_CPPFLAGSを探してください。

+0

libstdC++にリンクする必要があります。リンカのコマンドラインに '-lstdC++'を渡す必要があります。 – ks1322

+0

'gcc'ではなくg ++コマンドを使用しますか? –

+0

@Keith:はい 'g ++'はこれを自動的に行います。ここには2つのオプションがあります: 'gcc'を使い、' -lstdC++ 'を明示的に渡すか、' g ++ 'と' -lstdC++ 'を使うかは暗黙的に渡されます。 – ks1322

関連する問題