栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

解决chm4j在win64系统下无法使用问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决chm4j在win64系统下无法使用问题

由于需要使用java解析chm文件。于是网上找到了chm4j,但是由于代码很久没有更新了。而且里面的dll是x86的,在x64下无法使用。所以需要重新编译里面的C代码。并重新生成x64的dll。

在win10中由于不想安装VS这种超大的编译环境,所以选择在mysys2中编译C代码。在win10中安装mysys2后并安装好gcc编译环境。

安装好mysys2之后会有五个快捷方式,

这里一定要选择MinGWx64这个启动。其他启动后编译生成的dll会依赖mysys-2.0.dll。这个会导致使用java加载dll时报找不到依赖dll的错误。而使用MinGWx64启动的终端编译生成的dll不会依赖这个dll,java可以正常使用。

启动后使用gcc编译C代码

gcc -c -I"$JAVA_HOMEinclude" -I"$JAVA_HOMEincludewin32" -D__int64="long long" *.c
//如果是使用的自己安装的MingWx64不是使用的mysys2,需要将$JAVA_HOME改为%JAVA_HOME%
gcc -c -I"%JAVA_HOME%include" -I"%JAVA_HOME%includewin32" -D__int64="long long" *.c

然后生成动态链接库

gcc -Wl,--add-stdcall-alias -shared -o chm4j-native.dll *.o

 如此生成的dll文件,使用Dependency walker查看生成的dll依赖是MSVCRT.dll

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863459.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号