开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8118|回复: 23
收起左侧

[易语言纯源码] 【开源】【2015.07.09】易语言静态库代码生成工具,静态库丢失解决方案

[复制链接]
结帖率:100% (11/11)
发表于 2015-7-9 17:57:20 | 显示全部楼层 |阅读模式   贵州省遵义市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 宇智波·佐助 于 2015-7-17 13:56 编辑

使用引擎:Ex_DirectUI
软件名称:SalHe EStatic Lib ECode Maker

软件截图:
第一版:
QQ截图20150709172213.png
第二版(目前最新版 2015年7月9日 22:19:56):
QQ截图20150709222011.png

主要先说说软件是拿来干嘛的:
相信很多易友有找不到静态库的经历
即使该支持库确实发布了静态库版本
但是还是无法找到,这时该怎么办呢?
于是本人根据自己写支持库的经验想到一个解决方案
那就是自己手动将支持库包装一次,自己再编译成静态库
心动不如行动,然后这个工具就这么诞生了
你可以用ta生成任何支持库的静态库

PS:这种情况有易友提出,所以也解决了
       解决时间:约2015年7月9日 22:20
(但排除一种,那就是支持库本身并没有提供导出函数名)
(这种情况呢我没遇到,所以暂时就不写,要写也花不了好一会儿)
(如果有人遇到了,不妨留贴或者Q我,我会帮各位再次解决)

如果支持库本身 不支持
静态编译/不返回导出函数名给易语言 怎么办:
生成代码存放文件名:xxx_reload_ECODE.txt
将工具的 重新包装动态库 勾上
这样工具会自动生成重新包装动态库的代码
然后新建一个动态链接库(DLL)源码用生成的代码将其覆盖
最后将这个源码编译,文件名与原支持库文件名一致
然后在易语言 lib 目录里将ta覆盖就好了
生成的静态库代码编译方式参考下文

软件生成静态库编译方式:
生成代码存放文件名:xxx_static_ECODE.txt
以我的易语言编写支持库的模版中的test支持库为例
首先拥有一个支持库的动态库(必须滴~),如图所示:
QQ截图20150709173246.png

OK,比如说我们要给ta生成一个静态库代码
那么我们先打开我所提供的这个工具
然后将test.fne拖到工具的标签内
随即工具自动为该支持库生成对应静态库的代码
并且将这份代码以文本文档形式保存到支持库所在目录
生成结果请参看软件给出的提示
整个流程如下图(截图内工具为第一版,目前最新版是有 重新包装动态库 的):
show.gif

然后我们打开易语言新建一个动态链接库(DLL)
将工具所生成的代码覆盖到新建的DLL源码里面去
如图所示
(截图中的源码位于 example\test_static.lib)
QQ截图20150709174006.png

(这里并不是死的,大家可以看生成代码的备注)接着再新建图片资源
新建一个名为 LIB_DATA 的资源,将支持库导入到这个资源里
再新建一个名为 _SALHE_ESTATIC_LIB_ECODE_MAKER_TAG 的资源,将本工具目录下 _SALHE_ESTATIC_LIB_ECODE_MAKER_TAG 文件导入到这个资源里
如图所示:
QQ截图20150709174340.png

这时候我们的静态库就算搞完了,
接着我们就可以将ta编译
QQ截图20150709174457.png

现在就到了静态库处理的最后一步了
我们打开 SalHe ELib Tools
将编译后的文件拖入ta里面进行转换
转换后我们在编译后文件的目录下就可以看到对应的静态库
这个静态库就可以放到易语言的 static_lib 目录下进行静态编译了
过程如图所示,分两张图:
第一张、演示转换:
convert.gif
第二张、测试静态编译:
build.gif

PS:
转换的时候需要注意在转换工具内选择的置入标识
应与静态库代码里的
_SALHE_ESTATIC_LIB_ECODE_MAKER_TAG 一样
你也可以使用转换工具生成这个代码
然后静态库里的代码要和转换器选择的一样
!!!备注完毕。

OK,过程就是这样的,我会把演示中的支持库以及源码等打包
下载地址等详见本楼底部


附件下载列表:
单个附件:
演示中的支持库以及源码: example.zip (468.14 KB, 下载次数: 253)

本帖被以下淘专辑推荐:

  • · 饕餮|主题: 29, 订阅: 0
结帖率:100% (11/11)
 楼主| 发表于 2021-3-27 01:13:29 | 显示全部楼层   湖北省武汉市
代码及工具:https://github.com/SalHe/elang-lib-sdk
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2024-4-2 12:19:48 | 显示全部楼层   广东省湛江市
再那卸载,地址无法访问了
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 2022-10-5 15:06:43 | 显示全部楼层   浙江省台州市
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2018-5-4 10:16:52 | 显示全部楼层   福建省*
还能用吗?
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 4 天

发表于 2017-9-25 13:54:15 | 显示全部楼层   安徽省芜湖市
看看这个东西,好神奇的样子
回复 支持 反对

使用道具 举报

结帖率:14% (1/7)
发表于 2017-1-15 22:01:50 | 显示全部楼层   浙江省金华市
...........
回复 支持 反对

使用道具 举报

结帖率:14% (1/7)
发表于 2017-1-15 22:01:38 | 显示全部楼层   浙江省金华市
生成代码 有重复函数   无法静态编译。  估计是库里有重载 如何解决?感觉不能改动函数名称吧
回复 支持 反对

使用道具 举报

签到天数: 24 天

发表于 2016-1-31 12:59:16 | 显示全部楼层   山西省阳泉市
不明觉厉....
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2016-1-8 17:35:35 | 显示全部楼层   福建省泉州市
楼主可以帮忙弄云外归鸟的线程池支持库吗?我弄了不能用,
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)
发表于 2015-8-18 16:37:57 | 显示全部楼层   四川省成都市
太厉害了,这个东西无敌了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表