操作系统:win10专业版(本来是家庭普通版,使用了一个序列号升级到了专业版)
出问题的软件:hightec的Eclipse for TriCore 试用版32bit。内含gcc编译器。
出错现象:点击,运行报错,出现了以下两种错误
1、eclipse exit code 13(部分及后续内容省略)
2、fail to load the jni shared library(后续内容省略)
最后排查到的原因:java应该调用32bit的。因为该软件(试用版,不确定其他版本是不是都是32bit)是32bit的。
看起来应该使用32bit的jre(jave runtime,并不一定是jdk)来运行。
所以在C:Program Files中安装jre的64bit版本,具体的位置在:
C:Program FilesJavajre1.8.0_221
C:Program FilesJavajre1.8.0_221in
等
在当前文件下(C:Program FilesJavajre1.8.0_221in)运行cmd,运行
java -version
得到以下结果,
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
可以看出是64bit的。
下一步,在C:Program Files (x86)中安装jre的32bit版本,具体的位置在:
C:Program Files (x86)jre1.8.0_221
等
在当前文件下(C:Program FilesJavajre1.8.0_221in)运行cmd,运行
java -version
得到以下结果,
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) Client VM (build 25.221-b11, mixed mode)
没有显示64-bit,应该是32bit的。
win10控制面板 编辑系统环境变量 系统属性 环境变量 系统变量
选中PATH,可以看到很多行。将C:Program Files (x86)jre1.8.0_221in上移(理解一个可执行程序的查找顺序)。
这样每次会优先选择32bit的版本。问题解决。
同时,注意检查环境变量的设置。排除其他路径对其设置的干扰。