摘要:
写在前面,在2017年的前几篇中,由于是初次接触PPAPI,部分内容写得不是很详细,导致部分同学遇到一些问题,而我没遇到所以没法解答。这次再次研究PPAPI,由于期间换过一次电脑导致之前配置的环境清空,所以一切从零开始,发现我和很多同学遇到的问题一样,而这次通过详细整理发现这些问题都是可以处理的。
注:1、安装开发环境需要翻墙;
2、这次发现部分环境配置跟2017年有所差异,去年直接配上的,今年无法直接配置,究其原因,发现是去年在配置环境之前,曾由于需要下载chromium内核,而配置过一次环境,导致很顺利。具体问题后面有介绍。
3、部分环境配置请参照前面几面文章,不在赘述。
开发环境:
操作系统:Microsoft Windows [版本 10.0.16299.431]
浏览器版本:66.0.3359.117(正式版本) (32 位)
Microsoft Visual Studio版本:Microsoft Visual Studio Enterprise 2015
版本 14.0.25431.01 Update 3
Microsoft .NET Framework
版本 4.7.02556
已安装的版本: Enterprise
Visual Basic 2015 00322-90150-00888-AA638
Microsoft Visual Basic 2015
Visual C# 2015 00322-90150-00888-AA638
Microsoft Visual C# 2015
python版本:Python 2.7.14
开发环境配置:
参照前一篇博文:https://blog.csdn.net/y601500359/article/details/72821974
一、环境
准备好Microsoft Visual Studio环境,英文环境(1033),不在详述,参见前博文。
二、安装 native-client SDK:
1、下载native-client SDK:
官网:https://developer.chrome.com/native-client/sdk/download
如果墙不了的,可下载我的:https://download.csdn.net/download/y601500359/10446058
2、安装native-client SDK:同样参照以前博客,这儿只说明这次遇到的问题。
在执行naclsdk update命令时,出现下图错误:third_party.fancy_urllib.InvalidCertificateException: Host storage.googleapis.com returned an inva lid certificate ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)):
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl
问题原因:证书错误,安装包自带的cacerts.txt证书比较旧
解决方案:更换cacerts.txt文件证书,我自己的证书文件下载路径:https://download.csdn.net/download/y601500359/10442560
3、安装vs_addin:同样不详述,只说遇到的问题。
a、错误一
在运行install.bat时出现下图错误,[Error 5] : 'C:\\Program Files (x86)\\MSBuild\\Microsoft.Cpp\\v4.0\\Platforms\\NaCl32\\.svn\\all-wcprops'
The install script failed to write to the files mentioned above
Please try running as administrator.
Please try running as administrator.
问题原因:权限不够
解决方案:右键-管理员权限运行
b、错误二
IOError: [Errno 2] No such file or directory: 'C:\\Program Files (x86)\\MSBuild\\Microsoft.Cpp\\v4.0\\V110\\Platforms\\Win32\\Microsoft.Cpp.Win32.default.props
问题原因:未安装vs2012
解决方案:系统默认支持vs2010、2012,如果需要支持2013、2015,可以进行修改:修改文件install.py,create_ppapi_platform.py,增加相应文件,
具体不详述,可以直接下载我改好的文件:支持vs2010、2015:https://download.csdn.net/download/y601500359/10442925,支持vs2010、2012、2013、
2015:https://download.csdn.net/download/y601500359/9856804
三、设置环境变量:参照前文
四、编译media_stream_video 例子:
工程构建参照:https://blog.csdn.net/y601500359/article/details/72877966
还是只说出现错误:
1、1>d:\workpro\media_stream_video\media_stream_video\media_stream_audio.cc(5): fatal error C1083: 无法打开包括文件: “stdlib.h”: No such file or directory
问题原因:为包含vs2015运行库
解决方案:项目右键——属性——配置属性——VC++目录——包含目录,C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
2、1>ppapi_cpp.lib(var.o) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”(media_stream_audio.obj 中)
问题原因:所含pepper_49中的lib属于vs2013编译
解决方案:重新编译vs2015版本的pepper_49,大概说下怎么编译的,编译需要MinGW环境,具体安装配置不详述,编译目录:D:\WorkSDK\nacl_sdk\pepper_49\src,修改几个makefile文件,common.mk文件以及需要修改vs2015的环境变量(将D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin下的vcvars32.bat文件拷贝至D:\WorkSDK\nacl_sdk\pepper_49\tools目录,并运行(cmd命令运行)),由于修改地方比较多,不详述,我把编译出来的下载链接:https://download.csdn.net/download/y601500359/10446155
3、1>LINK : fatal error LNK1104: 无法打开文件“libucrtd.lib”
问题原因:同1
解决方案:项目右键——属性——配置属性——VC++目录——库目录,C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x86\
五、运行media_stream_video例子:
同样,步骤不详述,直说遇到问题:
1、提示chrome不是内部命令,
问题原因:未将chrome目录设置环境变量,由于我们是在cmd中运行的命令,因而之前设置的环境变量就无用
解决方案:将chrome设置在path路径:此电脑右键——属性——高级系统设置——环境变量——系统变量——Path,将chrome安装目录(exe所在目录)设置进去。
2、提示插件不支持
出现原因:chrome版本不对,因为程序是32位的,我之前是64位,
解决方案:将chrome换成32位的。