Ane作成でUndefined symbolsとなり、はまった話

iOS用のAneを作成してAirアプリとしてエクスポートしようとしたら、、

Undefined symbols:

"_ExtFinalizer", referenced from:

_g_com_adobe_air_fre_fmap in extensionglue.o

"_ExtInitializer", referenced from:

_g_com_adobe_air_fre_fmap in extensionglue.o

ld: symbol(s) not found

こんな表示。platform.xmlのlinkerOptionにフレームワークを追加し忘れたときに出るエラーのようでいて違う。
フレームワークを追加忘れの時はこちら参照→itoz on scriptogr.am

結論としては、*.a の ExtInitializer、ExtFinalizer をObjective-c++でコンパイルしていた
のが原因。
ソースファイルを *.mm にしてたらそうなっちゃった、ということだったのでObjective-cコンパイルするように変更してあげる。

インスペクタから
Type Objective-c++ Source → Type Objective-c Source
と変更すると、シンボルが書き出されるようになり、Airのビルドも通った。

CとC++のシンボルの違いね。。しばらくその辺やってないから忘れてたよ。。