Google nativeclient 样本不';I don’我不在谷歌工作

Google nativeclient 样本不';I don’我不在谷歌工作,google-nativeclient,Google Nativeclient,我正在尝试使用最新的谷歌SDK。按照 我从他们的网站下载了naclsdk工具,运行了更新,得到了一个pepper_18文件夹 我将NACL_SDK_ROOT设置为pepper_18文件夹,进入“示例”并运行make。一切似乎都很好 我启动了Chrome,查看了about:flags和about:plugins,并验证了NaCl已启用。我安装了SDK示例应用程序(来自:),效果很好 然后我尝试运行本地构建和托管的示例,转到:5301。HTML加载良好,但NaCl内容不加载。在hello world

我正在尝试使用最新的谷歌SDK。按照

我从他们的网站下载了naclsdk工具,运行了更新,得到了一个pepper_18文件夹

我将NACL_SDK_ROOT设置为pepper_18文件夹,进入“示例”并运行make。一切似乎都很好

我启动了Chrome,查看了about:flags和about:plugins,并验证了NaCl已启用。我安装了SDK示例应用程序(来自:),效果很好

然后我尝试运行本地构建和托管的示例,转到:5301。HTML加载良好,但NaCl内容不加载。在hello world示例中,它永远都会说“状态:正在加载…”


我仔细检查了HTTP服务器日志,没有发现任何错误。是否还有其他地方需要查找记录的错误?

检查版本不匹配情况

在Chrome中,导航至about:version,并检查Chrome的主要版本是否至少是您用于构建示例的Pepper版本

检查Chrome中的JavaScript控制台是否有任何错误

您可以通过单击Chrome右上角的扳手图标并选择工具->JavaScript控制台来找到它

检查NaCl模块以了解更多信息

在JavaScript控制台中,还可以检查NaCl模块的嵌入元素。例如,如果嵌入标记具有
id=“nacl_module”
,则可以通过键入

模块=document.getElementById('nacl_模块')

module.lastError

检查Chrome输出到标准输出/stderr

在Mac或Linux上,从终端启动Chrome并查看控制台上的输出。例如,在Mac电脑上,你通常会

/Applications/Google\Chrome.app/Contents/MacOS/Google\Chrome——启用nacl

在Windows上,如果从命令提示符启动,Chrome不会写入终端。因此,您需要通过设置环境变量NACLLOG、NACL_EXE_stdout和NACL_EXE_stderr从Chrome重定向stdout/stderr。将他们指向不同的文件,例如

NACLLOG=c:\my\u project\nacl.log

NACL\u EXE\u STDOUT=c:\my\u project\NACL\u STDOUT.log

NACL_EXE_STDERR=c:\my_project\NACL_STDERR.log

然后(重新)启动Chrome(确保这些环境变量有效)

连接调试器

有关使用调试支持(目前只有64位Windows和64位Linux)的说明,请访问

重新启动Chrome意味着关闭所有窗口


在为本机客户端开发时,通常会重新启动Chrome。关闭所有Chrome窗口非常重要;否则它实际上不会重新启动。

您是否确认已从examples文件夹运行httpd.py?此脚本创建可以运行应用程序的localhost:5103服务器

另外,您使用的是什么操作系统


~Main

我混淆了几个问题,我将记录这些问题,以防它们对其他人有所帮助:

  • 忽略了“制作”示例(从提问者的描述中获得了制作示例的线索)
  • Chrome不允许我运行非商店Chrome应用程序。转到
    chrome://flags
    并启用了
    本机客户端
    本机客户端基于GDB的调试
  • JavaScript控制台表示,…/debug/下的演示的nmf文件丢失。我将make配置更改为build Debug,而不是基于
  • Chrome控制台
    NativeClient:NaCl模块加载失败:ServiceRuntime:启动失败;NaCl的GDB调试存根需要--Windows上没有沙盒标志。请参阅crbug…
    。尝试从cmd运行Chrome,使用
    --无沙盒
    。这将导致您使用不受支持的命令行标志--nosandbox时发出警报
    。稳定性和安全性将受到影响。
    前面提到的错误消失了,但示例仍然无法运行-没有UI
  • 返回到
    chrome://flags
    并禁用了基于本地客户端GDB的调试

然后大多数例子都起作用了。
googledrive
演示抱怨
错误:必须作为打包的应用程序运行。

感谢您的精彩回答!结果是与Chrome17的版本不匹配。我切换到pepper_16,效果很好。@West,我看到了这一点,但为什么
document.getElementById('nacl_模块')为空?