易语言资源网 - 做最全的易语言资源下载社区
<易语言软件开发工程师>第10期(预报名) 注册 登录

易语言命令行编译工具 ecl v1.2.5.1(beta)   [复制链接]

    2020-09-17 09:41:13
    编程辅助工具
    易语言资源网
    3588 次浏览
    来源链接


前言

  顾名思义,本工具的作用就是通过命令行来编译易语言源码。

  但也并非是独立的编译器,依然需要依赖易语言程序,只是不会显示易语言IDE窗口。从打开源码到完成编译,包括处理各种错误都由命令行工具自动完成。

  有了这个命令行工具就可以实现全自动化构建和部署。

  此工具目前处于测试阶段,有任何问题和建议的话,欢迎反馈!

  注意:此工具并不会绕过易语言正版检测,需要使用正版易语言才能完成编译。


软件截图


动态演示


更新日志

[1.2.5.1]

  修复常量过多时,修改常量耗时略长的问题

  修复提供 -show 参数时,在编译完毕后易IDE窗口假死的问题

  修复当电脑存在多个版本易语言时所衍生的问题

  

[1.2.4.9]

  增加 -ver 指定文件版本号功能

  增加 -const 修改常量值的功能

  增加 -pic 修改图片资源的功能

  增加 -sound 修改声音资源的功能

  

[1.2.4.8]

  修复易语言启动时会抢焦点的问题

  

[1.2.4.7]

  增加-KeepEConfig不改变易语言系统配置的选项

  修复v1.2.4.6不显示帮助文档的问题

  

[1.2.4.6]

  增加 -UAC 运行时请求管理员权限选项

  增加 -q 静默选项,只打印错误信息

  增加 -nologo 不打印版权信息选项

  优化加密狗检测时间

  修复部分系统取不到API地址所产生的一系列问题

  修复部分系统API模块不同所产生的一系列问题

  修复易语言5.3及以上版本指定系统配置无效的问题


补充

  此工具不是给常规项目使用的,主要针对有自动布署和批量编译需求的人。

  如果对你无用,边上吃瓜就好。


命令行说明

set epath "EPATH"

  //设置默认易语言路径

  //如: ecl.exe set epath "C:\Program Files (x86)\e\e.exe"

  

make Source [Target] [-epath path] [-bm|-bmX|-s|-d] [-bmcfg config] [-bmdes description] [-pwd 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    //黑月编译:

    -bmcfg 配置名称 //可空,黑月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

  -q      //静默模式,只输出错误信息

  -nologo //不打印版权横幅

  

  //下面是指定源码中的特定值,但不会修改源码文件:

  -ver 指定编译后的文件版本号

    //如: -ver 1.2.4.9

  -const "常量名=值"    //修改常量值

    //如(数值常量值): -const "常量1=1;常量2=2;常量3=3"

    //如(文本常量值): -const "常量1="""fdsa1""";常量2="""fdsa2""";常量3="""fdsa3""""

    //如(时间常量值): -const "常量1=[2020年9月13日7时34分59秒];常量2=[2020/9/13 7:34:59]"

    //如(逻辑常量值): -const "常量1=真;常量2=true;常量3=false"

    //如(从文件中指定长文本常量内容): -const "常量1=@c:\c1.txt;常量2=@c:\c2.txt"

    //如: -const "常量1=1;常量2="""fdsa""";常量3=@c:\c3.txt"

    //命令行中,连续三个引号代表一个被转义的引号。

  -pic "资源名=@路径"   //修改图片资源值,若为相对路径,则路径相对于源码目录

    //如: -pic "图片1=@c:\p1.bmp;图片2=@..\p2.bmp;图片3=@p3.bmp"

  -sound "资源名=@路径" //修改声音资源值,使用方法参考 -pic

        

  //下面是易语言的系统配置:

  -FastArry       //开启快速数组访问方式(不开启为-FastArry-,默认不开启)

  -CheckDllStack  //开启调用DLL命令后检查堆栈错误(不开启为-CheckDllStack-,默认开启)

  -CheckLoop      //开启死循环代码检查(不开启为-CheckLoop-,默认开启)

  -Windows6.0     //使用Windows通用组件库6.0版(不使用为-Windows6.0-,默认不使用)

  -UAC            //运行前是否请求管理员权限(不请求为-UAC-,默认不请求,仅易语言5.3及以上版本有效)

  -OutLib         //非独立编译后写出相关库(不写出为-OutLib-,默认不写出)

  -CheckName      //开启严格的重复名称检查(不开启为-CheckName-,默认不开启)

  -JunkLevel 花指令级别 //默认0不插花,最大值为3

    //如:-JunkLevel 3

  -Upset 编译结果打乱码 //默认0不打乱,随机打乱为0xFFFFFFFF

    //如:-Upset 0xFFFFFFFF

  -KeepEConfig    //不改变易的系统配置

  //示例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 -bmcfg "默认配置"

  //示例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 //老版黑月的相关数据无法定位

#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 //不支持易包编译



点我下载(已有 130 次下载)

[错误报告]   上一篇:雷电、天天、逍遥、夜神四大主流模拟器操作...     下一篇:一键搭建MySQL 本地环境...