JS项目-SpiderMonkey编译说明
来源:互联网 发布:网络剧主题曲好听 编辑:程序博客网 时间:2024/05/01 21:14
https://developer.mozilla.org/en/About_JavaScript
SpiderMonkey编译说明
1.在VC6中导入mdp工程,转换
2.编译
a)直接编译
直接编译会产生如下错误
jsapi.obj : error LNK2001: unresolved external symbol _js_GeneratorClass
jsapi.obj : error LNK2001: unresolved external symbol _js_IteratorClass
jsapi.obj : error LNK2001: unresolved external symbol _js_StopIterationClass
jsapi.obj : error LNK2001: unresolved external symbol _js_InitIteratorClasses
jsobj.obj : error LNK2001: unresolved external symbol _js_InitIteratorClasses
jsgc.obj : error LNK2001: unresolved external symbol _js_CloseGeneratorObject
jsgc.obj : error LNK2001: unresolved external symbol _js_CloseIteratorState
jsinterp.obj : error LNK2001: unresolved external symbol _js_NewGenerator
jsinterp.obj : error LNK2001: unresolved external symbol _js_CloseNativeIterator
jsinterp.obj : error LNK2001: unresolved external symbol _js_CallIteratorNext
jsinterp.obj : error LNK2001: unresolved external symbol _js_ValueToIterator
./Debug/js32.dll : fatal error LNK1120: 10 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
b)修正
原因是原始的js.mak文件中并没有编译和链接jsiter模块,需要手工增加,所以做如下修改
---------------79行,增加
-@erase "$(INTDIR)/jsiter.obj"
修改后为
-@erase "$(INTDIR)/jsinterp.obj"
-@erase "$(INTDIR)/jsiter.obj" // <= 增加的部分
-@erase "$(INTDIR)/jslock.obj"
---------------175行,增加
"$(INTDIR)/jsiter.obj" /
修改后为
"$(INTDIR)/jsinterp.obj" /
"$(INTDIR)/jsiter.obj" / // <= 增加的部分
"$(INTDIR)/jslock.obj" /
---------------235行,增加
-@erase "$(INTDIR)/jsiter.obj"
修改后为
-@erase "$(INTDIR)/jsinterp.obj"
-@erase "$(INTDIR)/jsiter.obj" // <= 增加的部分
-@erase "$(INTDIR)/jslock.obj"
---------------333行,增加
"$(INTDIR)/jsiter.obj" /
修改后为
"$(INTDIR)/jsinterp.obj" /
"$(INTDIR)/jsiter.obj" / // <= 增加的部分
"$(INTDIR)/jslock.obj" /
---------------902行,增加
"./jsiter.h"/
修改后为
"./jsinterp.h"/
"./jsiter.h"/ // <= 增加的部分
"./jslock.h"/
---------------958行,增加
"./jsiter.h"/
修改后为
"./jsinterp.h"/
"./jsiter.h"/ // <= 增加的部分
"./jslock.h"/
c)编译Release版本
在js.mak文件的第7行增加
CFG=jsshell - Win32 Release
修改后为
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=jsshell - Win32 Release // <= 增加的部分
!IF "$(CFG)" == ""
- JS项目-SpiderMonkey编译说明
- SpiderMonkey js引擎的静态编译与使用
- VC11 编译mozilla spidermonkey
- windows编译-spidermonkey
- SpiderMonkey 1.7 的编译问题
- window编译最新的spiderMonkey
- SpiderMonkey
- spidermonkey
- C++编译spidermonkey遇到的一些问题
- SpiderMonkey在windows下的编译
- 在Sublime中搭建SpiderMonkey编译环境
- windows 环境下 简单编译 spidermonkey 的方法
- linux 下 SpiderMonkey 1.7.0 编译和安装
- linux 下 SpiderMonkey 1.7.0 编译和安装
- VC下嵌入SpiderMonkey引擎的编译详解
- VS2010 编译 SpiderMonkey 1.8.5 静态库版本
- Windows系统编译制作SpiderMonkey最新版mozjs-31.2.0版本
- C++调用SpiderMonkey封装类库运行JS函数
- _countof() 宏引申出来的语法知识
- 白痴理解的SOAP/Web Service/WSDL关系
- Java修饰符总结
- VC2005中测试Taucs库通过
- 验证手机和股票代码正则
- JS项目-SpiderMonkey编译说明
- ogre-1.7.0 + cegui-0.7.1 + vs2005 编译运行若干问题
- SQL中的叠加--结果集合转换为字符串(小提示) 转
- .Net通过拖放打开文件
- 1.String 数组的连接(最后一个不加,)
- magento -- 1.4版本使用google analytic 流量分析代码的bug
- InstallShield X之二 WebForm安装-1- -
- RHEL 4 笔记 vsftpd编译安装FTP服务器
- Http协议概览