close

2023/09/11更新

下戴可在windows執行的Moira七政四餘星盤軟體(64bit)

https://github.com/cyliu12/Moira_Download.git

x32的workspace在windows11已經跑不起來,之前有弄成x64是對的。原本有開兩個github如下

https://github.com/cyliu12/Moira_CSINT_Eclipse_x32.git

https://github.com/cyliu12/Moira_CSINT_Eclipse_x64.git

現在為了windows 11再開一個出來,因為有一些地方是需要整理debug的

https://github.com/cyliu12/eclipse_Moira_x64.git

 

超級久沒發文。又開了一個新的分類,真的是個大雜燴的部落格。七政四餘(果老星宗)用的人少,可用的電腦軟體也少,還好有Moira可以用,我很佩服這個應用程式的開發者,以我個人實際使用驗證的經驗,這個軟體是十分可靠的,像是紫炁的位置,要詳考是有困難的,而使用Moira預設推算的紫炁位置,在實際推算運勢上是確實能反應運勢的。不過Moira的開發已經是很久之前的事了,作者Release出來的版本要搭配32位元的JRE才能跑,而現在要抓個32位元的JRE可以說是麻煩死了,手上如果沒有自己留舊的下來,要抓一份來用真是傷透腦筋。還好,Moira是開源軟體,我也想自己加一些新功能,但是我不想碰Java的SWT,所以目標是改寫出一個能供C#用的DLL (使用IKVM可以把Java的函式庫共用給C#)。改寫同時,就順便重新編譯一份x64版的Moira。上面提到的東西都是我第一次碰,所以還是寫點文章把重要過程記錄下來,避免以後忘了又要重新google到天荒地老。寫這記錄是想起一個提點的作用,所以不會把所有細節都寫到,也不會太用心排版,為求快速寫完文章留個記錄,基本上是字多圖少。如果有看不懂無法銜接上的部份,就用力Google吧。

這一篇先來寫,怎麼把Moira編譯成x64版的。

一、在x86的Eclipse環境下建立一個可以run的workspace

Eclipse有x86跟x64的版本。Moira釋出的source裡有教學如何編譯,跟著教學說明應該可以順利在Eclipse x86版本下面編出一個可以執行的workspace。

二、改用x64的Eclipse打開上面建好的workspace

x64的Eclipse可以開啟x86的workspace,也可以執行。

三、刪除所有x86的Lib

基本上就是除了Moira的程式碼以外的東西都要刪除,Moira的Project都是以org.athomeprojects開頭,其他都是引用進來的,可以全砍了。swt及x86的JRE也都要砍乾淨。砍完之後點開org.athomeprojects裡的程式,會變成滿江紅一片叉叉,接下來只要把缺少的Lib全都引用x64的版本進來,就可以把叉叉消滅。叉叉消滅光之後應該就能執行程式了。

四、在Eclipse安裝PDE( Plug-in Development Environment),再安裝Plug-in

選Help->Install New Software

在Eclipse x64環境下重新編譯Moira七政四餘排盤

Work with選--All Available Sites,然後要等一下

在Eclipse x64環境下重新編譯Moira七政四餘排盤

勾選Eclipse Plugin Development Tools,然後按Next。安裝要一點時間,安裝完要重啟Eclipse。
接著才能繼續安裝Plug-in

(上面這一段是後來補上,所以上下截圖的版本差異不小)

為了安裝所需的Lib,要先安裝Plug-in工具。點擊Eclipse上方工具列的Windows-> Show View -> Other... 往下捲找到Plug-in Development,打開這個分類之後會有Plug-ins。點了之後應該會有一些東西要裝,都安裝好之後就可以打開Plug-in工具了。如下圖。在這裡可以找到所有需要的Lib

在Eclipse x64環境下重新編譯Moira七政四餘排盤

五、安裝需要的Lib

每個紅叉都會說明少了什麼,缺的東西在Plug-ins裡一定有,但也不是很好找,所以將需要的Lib列出如下圖

在Eclipse x64環境下重新編譯Moira七政四餘排盤

org開頭的在Plug-ins裡都找的到

六、在Java Build Path裡把剛才安裝好的JAR都引用進來。

因為剛才有把workspace裡的JRE砍掉,JRE也要重新引用好才行

在Eclipse x64環境下重新編譯Moira七政四餘排盤

 

以上都搞定之後,應該就能執行了。我改了一下Title,顯示Moira x64

在Eclipse x64環境下重新編譯Moira七政四餘排盤

Eclipse的畫面長這樣

在Eclipse x64環境下重新編譯Moira七政四餘排盤

 

我都是用增寫的方式增加要給C#引用的接口,原則上是不更動原本的程式碼,但是有一個地方我有修改

原本所有環境參數都會儲存在Windows的registry裡面,這樣一來,在同一個OS下運行的所有Moira都會共用一組環境參數。

我把儲存環境改存到程式資料夾裡的binary檔,這樣才不會共用同一組參數

以上

 

arrow
arrow

    CY 發表在 痞客邦 留言(0) 人氣()