我已经在我自己的Linux操作系统中编译了本机客户端工具链。
在本地客户端源代码中,我发现使用make test_hello_world_nexe可以构建并运行hello world程序。据我所知,它必须使用下载的工具链而不是您自己的工具链进行编译,因为它不需要提供您的工具链的位置。
那么,如何使用自己编译的工具链将自己的应用程序构建为.nexe呢?
发布于 2013-01-06 10:49:48
终于找到了如何使用工具链的方法。如果你使用的是NaCl SDK,这里有一个来自Building Native Client Modules的例子:
<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 lib。在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.nexehttps://stackoverflow.com/questions/14018369
复制相似问题