如题所述
首先明确"Not found the kernel library or the kernel library is invalid"的意思是什么?
其内容是指 “找不到核心库或核心库无效!”
易语言5.11正式版 (20101221) 更新版 官方同步 http://www./softs/7369.html
这是 用易语言编译出来的程序出现的一种错误现象.
那么,就有两种可能性,一种是 核心库缺失,另一种就是核心库无效,具体什么情况,听我慢慢诉来……
问题①:核心库是什么?
就是易语言的核心支持库(kernel.fne),主管易语言程序最基本的 操作,如API调用,WIN32组件等等
问题②:此类问题一般出现在 没有安装易语言的主机上。
也就是说,没有FNE文件可以调用。
就是说 没有把核心库给要运行程序的那台电脑。
要运行的那台电脑我用WRC代替吧,字很长,比较懒。
问题③:第一种 支持库缺失的具体情况,以及解决方案:
刚才说到,WRC上没有安装支持库(支持库实际上是个DLL文件),也就是自身没有支持库,必须得靠外界提供,通过这个支持库来完成一系列操作(就相当于DLL文件调用一样)。
通过 独立编译后,支持库文件(xx.fne)就被塞进EXE文件中了(作为文件中的一个资源存在),当运行程序的时候,把这个xx.fne释放出来,释放到TEMP(临时)目录中,然后如同调用DLL文件一样使用里面的函数(实际上,FNE支持库只有一个公开的导出函数GetNewInf,这个函数输出支持库的具体内容,多说无益,听懂则听,听不懂也无关紧要)。
当TEMP文件夹中有FNE支持库的时候,WRC中是不是就有支持库文件了呢?
那非独立编译 后EXE文件中 并没有被塞进FNE支持库对吧?那么,支持库都没有,让程序怎么运行呢?
因此,FNE支持库就不被塞进程序中(不作为这个程序的资源存在),而以文件的 形式存在(xx.fne),就相当与程序不全一样。
程序不全,缺少组件(支持库FNE),提示说“Not found the kernel library or the kernellibrary is invalid”就很正常了吧
解决方案也很简单:只要想办法 把支持库文件放到 EXE同目录下,就行了。
可以是安装易语言,也可以是把支持库COPY下来,也可以到网上单独下载,只要原理懂了,一切都好说。
问题④:第二种方法 支持库无效 的原因及解决方案:
如果是独立编译后,那当然也会出现这个问题了,看看OR后面说的是什么?没错,是支持库无效,这种情况通常是在被加壳易语言程序 脱壳后出现的。
由于脱壳后,破坏了 易格式原体,支持库自然也就无效了。(这个能听懂最好,听不懂无关紧要!)
还有的种种原因,大多数都是 破坏了易原体,解决办法很复杂。
这里介绍一中 解决方法:
祭出EcE(E-code explorer),用 16进制编辑器 分离出原体,再植入PE骨架就行了。
(这个不是本文的主要问题,一笔掠过,看雪学院上有很多这种文章,。)
但是EcE的作者monkey 很久就不更新了,猴先生 比我还懒!
因此这种方法也只是支持4.05以前的版本(也可能往后也兼容,我没有亲身试过,反正 EcE反编译易语言功能是4.05以前的版本才行呢!)
不过4.05以后的易语言程序,这种情况也相对少见些.
易语言提示“找不到核心库”的问题通常与编译方式、支持库配置或安装路径有关。针对这个问题,你可以尝试以下几个解决步骤:
检查支持库配置:
打开易语言的IDE(集成开发环境)。
进入“工具”菜单,选择“支持库配置”。
确保所有必要的支持库都被选中,并点击“确定”保存配置。
修改安装路径和注册表:
如果你的易语言安装路径或支持库路径有所变动,确保在IDE中更新这些路径。
同时,检查注册表中的相关路径是否正确指向了易语言的安装目录。特别是HKEY_USERS\...\Software\FlySky\E\Install\Path这个键,它应该指向你的易语言安装目录下的lib文件夹。
如果需要修改注册表,请谨慎操作,并确保备份重要数据。
使用独立编译:
在编译易语言的程序时,选择“独立编译”选项。这样可以确保生成的程序包含所有必要的依赖项,减少因缺失文件或路径问题导致的错误。
检查程序兼容性:
如果你将编译好的程序转移到其他电脑上运行,确保那台电脑的操作系统和易语言版本与你的开发环境兼容。
不同版本的易语言或操作系统可能会对支持库或API的调用有所不同,导致找不到核心库的问题。
重新安装易语言:
如果以上方法都无法解决问题,尝试卸载当前的易语言,并重新安装最新版本的易语言。
安装过程中,注意选择正确的安装路径,并确保所有组件都被正确安装。
查看错误日志和文档:
仔细查看易语言IDE或编译时生成的错误日志,以获取更多关于问题的详细信息。
同时,查阅易语言的官方文档或社区论坛,看看是否有其他开发者遇到过类似的问题,并找到了解决方法。
通过以上步骤,你应该能够解决易语言提示“找不到核心库”的问题。如果问题仍然存在,建议联系易语言的官方支持或社区寻求帮助。