听过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的更多相关文章

  1. 说下Fedora下把SpiderMonkey放入Eclipse内编译的过程

    首先要知道SpiderMonkey是个什么玩意 详细的可以看看这里(当然,如果你有google翻译的话看起来也一样费劲,你可以在语言那里选择中文.看完了再转回英文-因为中文有很多文档都没有的,比如:B ...

  2. SpiderMonkey js引擎的静态编译与使用

    原文出处: http://yaolixing.oltag.com/gns-8ABFFE2D-EB1E-44FA-9118-217ED7959536.html 几百KB的跨平台js引擎,是不是您心之所想 ...

  3. SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用

    SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536   原文出处: http://yaolixing.oltag.co ...

  4. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  5. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  6. C# 注册 Windows 热键

    闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...

  7. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  8. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

  9. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  10. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

随机推荐

  1. [No000014A]Linux简介与shell编程

    Linux 介绍 内核 库: .so 共享对象,windows:dll 动态链接库 应用程序 Linux的基本原则: 1.由目的单一的小程序组成:组合小程序完成复杂任务: 2.一切皆文件: 3.尽量避 ...

  2. NOIP 2018 day1 题解

    今年noip的题和去年绝对是比较坑的题了,但是打好的话就算是普通水准也能350分以上吧. t1: 很显然这是一个简单的dp即可. #include<iostream> #include&l ...

  3. git 命令详细介绍

    Git 命令详解 Git的基本命令: git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本 ...

  4. 使用Git,如何忽略不需要上传的文件(配置文件)

    步骤1:在目录下,选择GIt Bash Here 2.输入命令 : git update-index --assume-unchanged 文件名 3.再输入指令 git  status 查看修改文件 ...

  5. GIt如何安装使用

    一:公式git服务器地址:192.168.1.16 . 采用https协议,建议大家编辑本机hosts文件,将此地址映射到域名git.penseesoft.com,已防止出现的SSL证书警告. Hos ...

  6. js字符串方法汇总

    1.length方法 var stringObject=new String("hellow world"); console.log(stringObject.length);/ ...

  7. .net core开发工具与SDK

    一.开发工具 开发工具使用Visual Studio 2017 下载官网:https://visualstudio.microsoft.com/zh-hans/vs/ 相关的安装已经有很多文章介绍过, ...

  8. kmeans笔记

    1.算法过程 a.随机选取k个初始点作为中心点 b.依次计算剩余所有点分别与哪个初始点距离较近,则该点属于哪个簇 c.移动中心点到现在的簇的中心 d.重复b,c两步,直到中心点不再变化算法结束 2.优 ...

  9. (4.23)sql server区服大小写的检索

    是的,SQL Server数据库可以区分大小写.区分大小写意味着SQL Server将为CASE,Case,CaSe等返回不同的结果集,并将所提到的字符串视为3个不同的字符串.区分大小写的数据库具有区 ...

  10. mysql常用压测工具

    关键字:mysql压测工具 mysqlslap.sysbench  基准测试sysbench 压力测试 tpcc  具体怎么使用百度