操作系統: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 Files\Java\jre1.8.0_221
C:\Program Files\Java\jre1.8.0_221\bin
等
在當前文件下(C:\Program Files\Java\jre1.8.0_221\bin)運行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 Files\Java\jre1.8.0_221\bin)運行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_221\bin上移(理解一個可執行程序的查找順序)。
這樣每次會優先選擇32bit的版本。問題解決。
同時,注意檢查環境變量的設置。排除其他路徑對其設置的干擾。