0

私は自分のLinuxOSでネイティブクライアントツールチェーンをコンパイルしました。

ネイティブクライアントのソースコードで、を使用make test_hello_world_nexeするとhelloworldプログラムをビルドして実行できることがわかりました。私の理解では、ツールチェーンの場所を指定する必要がないため、コンパイルには独自のツールチェーンではなく、ダウンロードしたツールチェーンを使用する必要があります。

では、自分でコンパイルしたツールチェーンを使用して、.nexeに独自のアプリケーションを構築するにはどうすればよいですか?

4

1 に答える 1

0

ツールチェーンの使い方をようやく理解しました。NaCl SDKを使用している場合の、ネイティブクライアントモジュールの構築からのWindowsの例を次に示します。

<NACL_SDK_ROOT>/toolchain/win_x86_newlib/bin/i686-nacl-gcc hello_world.c -o hello_world_x86_32.nexe -m32 -g -O0 -lppapi

<NACL_SDK_ROOT>使用しているバンドルの最上位ディレクトリへのパスを表します(例:<location-where-you-installed-the-SDK>/pepper_23

NaCl SDKを使用していない場合は、ppapilibを手動でコンパイルしてリンクする必要がある場合があります。Native Clientのソースコードには、上記のすべてを自動化するのに役立つツールがあります。

python native_client/build/build_nexe.py -t "/path/to/toolchain/" --arch x86-32 --build newlib_nexe --root .. --name "hello.nexe" --objdir . "--compile_flags=-m32 -mtls-use-call <more-flags...>" "--link_flags=-m32 -O3 " "--source-list=hello.list"

hello.nexeこれにより、コンパイル済みを取得できます。次に、別のツールを使用してその出力を確認できます。

python native_client/run.py -m32 hello.nexe

Glibcプログラムを動的にリンクするためにを使用している場合は、ライブラリパスを指定する必要がある場合があることに注意してください。

python native_client/run.py -L/path/to/lib/ -m32 hello.nexe
于 2013-01-06T02:49:47.740 に答える