首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么对PPP_GetInterface、PPP_ShutdownModule和PPP_InitializeModule有未定义的引用?

为什么对PPP_GetInterface、PPP_ShutdownModule和PPP_InitializeModule有未定义的引用?
EN

Stack Overflow用户
提问于 2014-10-10 20:32:05
回答 1查看 532关注 0票数 1

我正在尝试使用可移植的本机客户端编译pexe文件。我谨遵照本页的指示:

https://developer.chrome.com/native-client/devguide/devcycle/building

我正在尝试构建一个pexe并将它与静态库链接起来,如页面所示。我的命令行如下。

代码语言:javascript
复制
/home/adev/opt/nacl_sdk/pepper_37/toolchain/linux_pnacl/bin/pnacl-clang++ -o pim-pnacl.pexe pim-pnacl.o -L/home/adev/opt/nacl_sdk/pepper_37/lib/pnacl/Release -lppapi_cpp -lppapi -L../libpidec -lpidec

我得到了以下错误。

代码语言:javascript
复制
/home/adev/opt/nacl_sdk/pepper_37/toolchain/linux_pnacl/sdk/lib/libppapi_stub.a: error: undefined reference to 'PPP_GetInterface'
/home/adev/opt/nacl_sdk/pepper_37/toolchain/linux_pnacl/sdk/lib/libppapi_stub.a: error: undefined reference to 'PPP_ShutdownModule'
/home/adev/opt/nacl_sdk/pepper_37/toolchain/linux_pnacl/sdk/lib/libppapi_stub.a: error: undefined reference to 'PPP_InitializeModule'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 20:50:06

为了记录在案,问题出现在pim-pnacl.o中,它需要使用-c标志进行编译。这是编译单个.o文件的正确方法:

代码语言:javascript
复制
/home/adev/opt/nacl_sdk/pepper_37/toolchain/linux_pnacl/bin/pnacl-clang++ -o pim-pnacl.o pim-pnacl.cc -O2 -I/home/adev/opt/nacl_sdk/pepper_37/include -c

我忽略了-c,这导致了链接器问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26307621

复制
相关文章

相似问题

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