Как использовать собственный набор инструментов клиента?

Я скомпилировал собственный набор инструментов клиента в своей собственной ОС Linux.

В исходном коде собственного клиента я обнаружил, что с помощью make test_hello_world_nexe можно создать программу hello world и запустить ее. Насколько я понимаю, для компиляции необходимо использовать загруженную цепочку инструментов вместо вашей собственной цепочки инструментов, поскольку не нужно указывать местоположение вашей цепочки инструментов.

Итак, как мне использовать цепочку инструментов, скомпилированную мной, для сборки моего собственного приложения в .nexe?


person Deqing    schedule 24.12.2012    source источник


Ответы (1)


Наконец-то понял, как использовать набор инструментов. Вот пример для Windows из раздела Создание собственных клиентских модулей, если вы используете NaCl SDK:

<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, вам может потребоваться скомпилировать и связать библиотеку ppapi вручную. В исходном коде 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
person Deqing    schedule 06.01.2013