听过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(语言)开源项目的文章,感兴趣的话可以去看看
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181072.html原文链接:https://javaforall.cn