ツールチェーンの使い方をようやく理解しました。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