易语言命令行编译工具,本工具的作用就是通过命令行来编译易语言源码,但也并非是独立的编译器,依然需要依赖易语言程序,只是不会显示易语言IDE窗口,从打开源码到完成编译,包括处理各种错误都由命令行工具自动完成,有了这个命令行工具就可以实现全自动化构建和部署。
使用说明
命令行说明
setepath"EPATH"
设置默认易语言路径
如:ecl.exesetepath"C:ProgramFiles(x86)ee.exe"
makeSource[Target][-epathpath][-bm|-bmX|-s|-d][-b*Fgconfig][-bmdesdescription][-ppassword][...]
编译源码
Source源码全路径,如:"C: est.e"
Target保存文件,如:"C:Release est.exe",可空,默认生成到源码所在目录,文件名与源码相同
-epath指定易语言路径,若不指定易语言路径,则使用默认易语言或自动寻找
如:ecl.exemake"C: est.e"-epath"C:ProgramFiles(x86)ee.exe"-s
-bm黑月编译:
-b*Fg配置名称,可空,黑月4.0版本以上才有效
-bmdes特定备注,可空,黑月4.0版本以上才有效
-bm0黑月汇编模式编译(黑月3.8及版本以下才有效,否则按-bm处理)
-bm1黑月C++模式编译(黑月3.8及版本以下才有效,否则按-bm处理)
-bm2黑月MFC模式编译(黑月3.8及版本以下才有效,否则按-bm处理)
-s 静态编译
-d 独立编译
-p 编译易包
-pwd 源码密码
-lib 启用的支持库文件名,不要加后缀.fne,多个支持库用;分号分隔
如:-lib"BlackMoon;spec"
-e_xxx 指定易语言link.ini配置项的内容,xxx代表配置项名(但不会实际地修改该文件,只是用来告知易语言)
如:-e_linker"VC98linkerBin"
-k 执行完毕后,此命令行工具不会立即退出
-show 显示易语言窗口
-st 启用易语言超时,单位秒,默认5分钟
-ct 编译超时,单位秒,默认10分钟
如:-ct600
下面是易语言的系统配置:
-FastArry开启快速数组访问方式(不开启为-FastArry-,默认不开启)
-CheckDllStack开启调用DLL命令后检查堆栈错误(不开启为-CheckDllStack-,默认开启)
-CheckLoop开启死循环代码检查(不开启为-CheckLoop-,默认开启)
-Windows6.0使用Windows通用组件库6.0版(不使用为-Windows6.0-,默认不使用)
-OutLib非独立编译后写出相关库(不写出为-OutLib-,默认不写出)
-CheckName开启严格的重复名称检查(不开启为-CheckName-,默认不开启)
-JunkLevel花指令级别,默认0不插花,最大值为3
如:-JunkLevel3
-Upset编译结果打乱码,默认0不打乱,随机打乱为0xFFFFFFFF
如:-Upset0xFFFFFFFF
示例1(普通编译):
ecl.exemake"C: est.e"
示例2(指定易语言路径进行静态编译):
ecl.exemake"C: est.e"-epath"C:ProgramFiles(x86)ee.exe"-s
示例3(使用黑月编译并指定配置名称):
ecl.exemake"C: est.e"-bm-b*Fg"默认配置"
示例4(编译带密码的源码):
ecl.exemake"C: est.e"-pwd"ThePassword"
示例5(编译文件保存到C: est.exe):
ecl.exemake"C: est.e""C: est.exe"
@文件路径从文件中指定命令行
如:ecl.exe@test.txt
test.txt的内容可以为:make"C: ext.e"
test.txt中的不同参数间可以用换行符分隔
错误代码列表:
#defineECL_ERROR_SUCCESS 1 //处理成功
#defineECL_ERROR_OK 0 //未发生错误
#defineECL_ERROR_UNKNOW -1 //未定义类型的错误
#defineECL_ERROR_PARAM -2 //命令行有错误
#defineECL_ERROR_FILENOTFOUND -3 //找不到文件
#defineECL_ERROR_FILEINVALID -4 //文件无效
#defineECL_ERROR_COMPILE -5 //编译失败
#defineECL_ERROR_INVALIDCOMPILETYPE -6 //不支持的编译类型
#defineECL_ERROR_ECANNOTSTART -7 //无法识别或无法运行的易语言程序
#defineECL_ERROR_CANNOTGETMENU -8 //无法获取易语言菜单
#defineECL_ERROR_SHUTDOWN -9 //易语言意外结束
#defineECL_ERROR_STATIC -10//静态编译失败
#defineECL_ERROR_MAKELINKINI -11//生成link.ini文件过程中出错
#defineECL_ERROR_BMINFO -12//老版黑月的相关xx无法定位
#defineECL_ERROR_BMCOMPILE -13//黑月编译失败
#defineECL_ERROR_PASSWORD -14//源码密码不正确
#defineECL_ERROR_EC -15//缺乏易模块
#defineECL_ERROR_ELIB -16//缺少支持库
#defineECL_ERROR_STARTTIMEOUT -17//启动易语言超时
#defineECL_ERROR_COMPILETIMEOUT -18//编译超时
#defineECL_ERROR_NOTSUPPORTEPK -19//不支持易包编译
注意事项
此工具目前处于测试阶段,有任何问题和建议的话,欢迎反馈!
注意:此工具并不会绕过易语言正版检测,需要使用正版易语言才能完成编译。