首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用原生客户端工具链?

如何使用原生客户端工具链?
EN

Stack Overflow用户
提问于 2012-12-24 15:23:26
回答 1查看 337关注 0票数 0

我已经在我自己的Linux操作系统中编译了本机客户端工具链。

在本地客户端源代码中,我发现使用make test_hello_world_nexe可以构建并运行hello world程序。据我所知,它必须使用下载的工具链而不是您自己的工具链进行编译,因为它不需要提供您的工具链的位置。

那么,如何使用自己编译的工具链将自己的应用程序构建为.nexe呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-06 10:49:48

终于找到了如何使用工具链的方法。如果你使用的是NaCl SDK,这里有一个来自Building Native Client Modules的例子:

代码语言:javascript
复制
<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源代码中,有一个工具可以帮助实现上述所有操作的自动化:

代码语言:javascript
复制
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了。然后,可以使用另一个工具来检查其输出:

代码语言:javascript
复制
python native_client/run.py -m32 hello.nexe

请注意,如果您使用Glibc动态链接程序,则可能需要提供库路径,例如

代码语言:javascript
复制
python native_client/run.py -L/path/to/lib/ -m32 hello.nexe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14018369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档