0

Flascc SDK 1.0 サンプル 01_helloworld プロジェクトの Makefile スクリプトに -O4 -flto-api=exports.txt を追加しただけです。

これは Makefile の最終的な内容です:

    "$(FLASCC)/usr/bin/gcc" $(BASE_CFLAGS) hello.c -O4 -flto-api=exports.txt -emit-swf -swf-size=200x200 -o hello.swf

exports.txt は 09_Pthreads からのコピーです。内容は次のとおりです。

# built in symbols that must always be preserved
_start1
malloc
free
memcpy
memmove
flascc_uiTickProc
_sync_synchronize

# symbols for C++ exception handling
_Unwind_SjLj_Register
_Unwind_SjLj_Resume
_Unwind_SjLj_Unregister
_Unwind_SjLj_RaiseException

ビルドが完了したら、フラッシュデバッグAPP 11.5で開きましたが、何もありません。

私の HelloWorld はどこですか

原因を突き止めるために何かできることはありますか?提案をありがとう。

4

2 に答える 2

1

これを使用するか、export.txt に追加するだけです: __muldi3 および vglttyioctl

_start1 malloc free memcpy memmove flascc_uiTickProc vglttyioctl __muldi3

于 2013-03-30T09:15:32.620 に答える
0

エクスポート ファイルを使用してシンボル ater の参照エラーがある場合、paleozogt が述べたように、エクスポート ファイルが十分なシンボルを保護していないことを意味します。exports.txt ファイルに「_vglttyioctl」を追加するとうまくいくはずです。

LLVM がシンボルを使用するコードを認識できる場合、シンボルは通常デフォルトで保護されます。例外は、唯一の参照が参照できない AS3 コードから来る場合です。この場合、デフォルトのコンソール実装は vglttyicotl 関数を呼び出すことができると想定していますが、エクスポート ファイルまたは残りのビットコードで言及されていないため、ストライプ化されています。

于 2012-12-13T22:28:00.167 に答える