易语言命令行编译工具,本工具的作用就是通过命令行来编译易语言源码,但也并非是独立的编译器,依然需要依赖易语言程序,只是不会显示易语言IDE窗口,从打开源码到完成编译,包括处理各种错误都由命令行工具自动完成,有了这个命令行工具就可以实现全自动化构建和部署。 使用说明 命令行说明 set epath "EPATH" 设置默认易语言路径 如: ecl.exe set epath "C:\Program Files (x86)\e\e.exe" make Source [Target] [-epath path] [-bm|-bmX|-s|-d] [-b*Fg config] [-bmdes description] [-p password] [...] 编译源码 Source 源码全路径,如:"C:\test.e" Target 保存文件,如:"C:\Release\test.exe",可空,默认生成到源码所在目录,文件名与源码相同 -epath 指定易语言路径,若不指定易语言路径,则使用默认易语言或自动寻找 如: ecl.exe make "C:\test.e" -epath "C:\Program Files (x86)\e\e.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 "\VC98linker\Bin" -k 执行完毕后,此命令行工具不会立即退出 -show 显示易语言窗口 -st 启用易语言超时,单位秒,默认5分钟 -ct 编译超时,单位秒,默认10分钟 如: -ct 600 下面是易语言的系统配置: -FastArry 开启快速数组访问方式(不开启为-FastArry-,默认不开启) -CheckDllStack 开启调用DLL命令后检查堆栈错误(不开启为-CheckDllStack-,默认开启) -CheckLoop 开启死循环代码检查(不开启为-CheckLoop-,默认开启) -Windows6.0 使用Windows通用组件库6.0版(不使用为-Windows6.0-,默认不使用) -OutLib 非独立编译后写出相关库(不写出为-OutLib-,默认不写出) -CheckName 开启严格的重复名称检查(不开启为-CheckName-,默认不开启) -JunkLevel 花指令级别,默认0不插花,最大值为3 如:-JunkLevel 3 -Upset 编译结果打乱码,默认0不打乱,随机打乱为0xFFFFFFFF 如:-Upset 0xFFFFFFFF 示例1(普通编译): ecl.exe make "C:\test.e" 示例2(指定易语言路径进行静态编译): ecl.exe make "C:\test.e" -epath "C:\Program Files (x86)\e\e.exe" -s 示例3(使用黑月编译并指定配置名称): ecl.exe make "C:\test.e" -bm -b*Fg "默认配置" 示例4(编译带密码的源码): ecl.exe make "C:\test.e" -pwd "The Password" 示例5(编译文件保存到C:\test.exe): ecl.exe make "C:\test.e" "C:\test.exe" @文件路径 从文件中指定命令行 如:ecl.exe @test.txt test.txt的内容可以为:make "C:\text.e" test.txt中的不同参数间可以用换行符分隔 错误代码列表: #define ECL_ERROR_SUCCESS 1 //处理成功 #define ECL_ERROR_OK 0 //未发生错误 #define ECL_ERROR_UNKNOW -1 //未定义类型的错误 #define ECL_ERROR_PARAM -2 //命令行有错误 #define ECL_ERROR_FILENOTFOUND -3 //找不到文件 #define ECL_ERROR_FILEINVALID -4 //文件无效 #define ECL_ERROR_COMPILE -5 //编译失败 #define ECL_ERROR_INVALIDCOMPILETYPE -6 //不支持的编译类型 #define ECL_ERROR_ECANNOTSTART -7 //无法识别或无法运行的易语言程序 #define ECL_ERROR_CANNOTGETMENU -8 //无法获取易语言菜单 #define ECL_ERROR_SHUTDOWN -9 //易语言意外结束 #define ECL_ERROR_STATIC -10 //静态编译失败 #define ECL_ERROR_MAKELINKINI -11 //生成link.ini文件过程中出错 #define ECL_ERROR_BMINFO -12 //老版黑月的相关xx无法定位 #define ECL_ERROR_BMCOMPILE -13 //黑月编译失败 #define ECL_ERROR_PASSWORD -14 //源码密码不正确 #define ECL_ERROR_EC -15 //缺乏易模块 #define ECL_ERROR_ELIB -16 //缺少支持库 #define ECL_ERROR_STARTTIMEOUT -17 //启动易语言超时 #define ECL_ERROR_COMPILETIMEOUT -18 //编译超时 #define ECL_ERROR_NOTSUPPORTEPK -19 //不支持易包编译 注意事项 此工具目前处于测试阶段,有任何问题和建议的话,欢迎反馈! 注意:此工具并不会绕过易语言正版检测,需要使用正版易语言才能完成编译。 更新日志 [1.2.5.1] 修复常量过多时,修改常量耗时略长的问题 修复提供 -show 参数时,在编译完毕后易IDE窗口假死的问题 修复当电脑存在多个版本易语言时所衍生的问题