windows-spidermonkey
听过Mozilla(火狐浏览器的娘家)的javascript引擎吗?感兴趣吗?想在windows平台的应用开发中使用这个引擎吗?
肯定?
好,往下看!
本文给出Windows平台SpiderMonkey的32位和64位静态库编译方法
WINDOWS-SpiderMonkey 32 位Release 静态库,开心吧?
网上2017 年以前的例子,你不一定能编译的过!哈哈
本文是2017 年8 月底,最新力作!哈哈哈哈哈哈哈:)
一. 下载MozillaBuild,关于作用请网上查询
地址:
https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-L
atest.exe
什么!你敢下这个,作死!哈哈。
我下了,里边没有start-shell-msvcxxxx.bat!郁闷:(,但这玩
意估计你自己是搞不定的!哈哈
所以,听过的下这个吧:
https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-2.2.0.exe
没错,别犹豫,听我了,你又活过来了,不然后边有你苦
头吃呢!
二. 下载SpiderMonkey,这就是我们的主角了
https://people.mozilla.org/~sstangl/mozjs-31.2.0.rc0.tar.bz2
哈哈,废话不多说,你还是听我的,下这个吧
https://archive.mozilla.org/pub/js/mozjs-24.2.0.tar.bz2
我找的的是最大,最新的,你值得拥有
三. 安装环境
1. 双击MozillaBuildSetup-2.2.0.exe,安装去吧….
2. 进入mozilla-build 目录,双击start-shell-msvc2013.bat
3. 输入hg clone https://hg.mozilla.org/projects/nspr /c/nspr/mozilla/nsprpub
安装NSPR,这个是个好东西,哈哈,干嘛用,自己百度
吧,这这里没有的话,就别想编译Mozilla JS 引擎了
等待一会儿,
就下载完毕,内容在C:\nspr\mozilla\nsprpub
4. 编译NSPR
1. 进入c:\nspr
2. 新建目录target
3. 进入target 目录,输入命令后,回车
../mozilla/nsprpub/configure --enable-win32-target=WIN95 \
--disable-debug --enable-optimize
4. make 编译,
C:\nspr\target\dist\include
C:\nspr\target\dist\lib
C:\nspr\target\dist\bin
分别存放生成的NSPR 的头文件,lib 库,dll 库
四. 编译SpiderMonkey
1. RAR 解开mozjs-24.2.0.tar.bz2,然后把结果拷贝至C 盘,即
有了C:\mozjs-24.2.0 目录
2. 进入其上的子目录\js\src,创建目录build_OPT.OBJ
3. 输入命令,autoconf-2.13
4. 进入build_OPT.OBJ 目录,输入
../configure --enable-static --disable-shared-js
--enable-optimize \
--enable-win32-target=WIN95 \
--with-nspr-cflags="-IC:/nspr/build_OPT.OBJ/dist/include/n
spr" \
--with-nspr-libs="C:/nspr/build_OPT.OBJ/dist/lib/nspr4.lib \
C:/nspr/build_OPT.OBJ/dist/lib/plds4.lib \
C:/nspr/build_OPT.OBJ/dist/lib/plc4.lib"
5. 能到这里,你有福气,哈哈哈哈
输入,mozmake 命令吧
6. 结果
Js\src\build_OPT.OBJ 下边,js-static.lib 就是你要的静态库
Js\src\build_OPT.OBJ\dist\include 下边,都是你需要的库的头文件
五. Finally
相逢不易,又到了离别时分!哈哈哈哈
祝大伙儿使用SpiderMonkey 库开开心心:)
附件,关于64位编译
只有两点需要注意
一. 编译64 位NSPR 的配置
../mozilla/nsprpub/configure \
--enable-win32-target=WIN95 \
--disable-debug --enable-optimize \
--enable-64bit \
--target=x86_64-pc-mingw32
二. 编译64 位的SpiderMonkey 的配置
../configure \
--enable-static \
--disable-shared-js --enable-optimize \
--enable-win32-target=WIN95 \
--enable-64bit \
--with-nspr-cflags= \
"-IC:/nspr/build_OPT.OBJ/dist/include/nspr" \
--with-nspr-libs="C:/nspr/build_OPT.OBJ/dist/lib/nspr4.lib \
C:/nspr/build_OPT.OBJ/dist/lib/plds4.lib \
C:/nspr/build_OPT.OBJ/dist/lib/plc4.lib"
三. Finally
解释下:
1. 本人下载的源码,不支持在vs2015||vs2017 上编译,
这是在配置|编译错误信息里明确指出来了。
我也没有安装vs2013,但我机器上有vs2010。
所以,我是用vs2012 编译这一切的,但是你下载那个
MozillaBuild-24..2.0 安装后可是没有提供vs2010 配置项
的噢,这个是我自定义来的,你也可以从更早的版本里
或得。
2. 关于这个--target=x86_64-pc-mingw32 配置项目,在官
网上64 位编译必须加上。在我这里如果不加入此项
目做编译,那么生成32 位和64 位静态库js_static.lib
的过程没有问题。只是最后的库大小完全一样,我深
表怀疑是否真的生成了64 位版本。但如果你加上此
配置项,NSPR 库可以顺利编译,但是SpiderMonkey
库就会在编译时报错误:
C:\Program Files (x86)\Microsoft
SDKs\Windows\v7.0A\include\winnt.h(14982) : error
C3861: '__readfsdword': identifier not found
也就是SDK 里有函数没有定义,估计是我的VC 版本
低所致的低版本依赖SDK 库实现不完全所致。
如果你有vs2012 或者vs013 请自己去编译验证,估
计你是幸运儿!哈哈哈
好了, 相逢不易, 送别很难,最后, 祝大家在
SpiderMonkey 的开发道路上顺利。
再会OK。
另外,在CSDN上还有本人写的另外一篇文章,介绍windows平台上编译与使用lua(语言)开源项目的文章,感兴趣的话可以去看看
http://bbs.csdn.net/topics/392233711
windows-spidermonkey的更多相关文章
- 说下Fedora下把SpiderMonkey放入Eclipse内编译的过程
首先要知道SpiderMonkey是个什么玩意 详细的可以看看这里(当然,如果你有google翻译的话看起来也一样费劲,你可以在语言那里选择中文.看完了再转回英文-因为中文有很多文档都没有的,比如:B ...
- SpiderMonkey js引擎的静态编译与使用
原文出处: http://yaolixing.oltag.com/gns-8ABFFE2D-EB1E-44FA-9118-217ED7959536.html 几百KB的跨平台js引擎,是不是您心之所想 ...
- SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用
SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536 原文出处: http://yaolixing.oltag.co ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- C# 注册 Windows 热键
闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- 在离线环境中发布.NET Core至Windows Server 2008
在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...
- Windows平台分布式架构实践 - 负载均衡
概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
随机推荐
- HTML滚动文字代码 marquee标签
看到一个HTML滚动文字代码 marquee标签的内容,非常全面,而且觉得有点意思,可以让大家为自己博客或者网站设置一个漂亮的滚动文字. 以下是原文: <marquee style=" ...
- js积累点
window.opener.parent.frames['taskAnswerInfoForm'].location=newUrl;//可以使该frame的页面跳转.不需要再写xxx.location ...
- iPhone XS 能否经受的起寒冬的考验
我的知乎文章链接: https://zhuanlan.zhihu.com/p/51782644 华北地区近日寒风凛冽,温度骤降,已经进入真正的冬天了,最低温度可以达到零下10度,我们手里的iPhone ...
- 老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分
老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/guobaoyuan/ 开哥blog: https://home.cnblogs.com/u ...
- [No0000116]SQLServer启用sa账户
SQLServer如何启用sa账户,今天在这里唠叨一下关于SQL Server数据库如何启用sa账户的,作为一个数据库管理者,需要非常熟练掌握,具体步骤如下: 1.先登录数据库服务 首先在“开始”菜单 ...
- zookeeper的Java客户端API
zookeeper作为一个分布式服务框架,主要用来解决分布式数据一致性问题,对多种语言提供了API.这里主要记录下JAVA客户端API的使用. 1.创建会话 客户端可以通过创建一个ZooKeeper实 ...
- dhttp与IdCookieManager处理登陆过程
dhttp与IdCookieManager处理登陆过程 我们知道,用IE注册网页(象论坛)时,它能够自动找出相应的Cookie并提交给服务器,从而使用户不用重新登录就能够看到与他自己帐号有关的内容.这 ...
- USB驱动框架
以USB鼠标驱动为例 框架入口源文件: usb_mouse.c hub.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6 硬件平台:JZ2440 以下是 ...
- TensorFlow安装之后导入报错:libcudnn.so.6:cannot open sharedobject file: No such file or directory
转载自:http://blog.csdn.net/silent56_th/article/details/77587792 系统环境:Ubuntu16.04 + GTX1060 目的:配置一下pyth ...
- 【Python】【面试必看】Python笔试题
前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...