由原始碼編譯出Solvespace和CDemo的執行檔

安裝工具 :

必須存放於可攜式環境內的工具,可以協助我們建立Solvespace和CDemo的執行檔。

連結為下載處。

1.MinGW (Not official version), https://nuwen.net/mingw.html

2.msys (Official version), http://www.mingw.org/wiki/msys

3.CMake (Official version), https://cmake.org/download/

4.NetBeans (Our storage), http://140.130.17.17/public/Netbeans/

存放位置除了CMake之外皆為W:內,CMake存於W:\app資料夾中。

下載Solvespace原始碼 :

Whitequark的倉儲git clone最新的原始碼到W:\tmp資料夾內,並執行git submodule update --init命令以從相關倉儲下載submodule的原始碼。

NetBeans設定 :

從\NetBeans\bin執行NetBeans,亦可編輯start.bat和stop.bat後,在啟動時呼叫和關閉它。

在Tools->Options的C/C++中新增編譯工具,選擇GNU MinGW,並填入MinGW的存放位置。

大部分的程式位置會自動填入,不過還要指定msys的make.exe和cmake的位置。

若有必要可以為NetBeans安裝CMake的附加元件。

在Tools->Plugins的Available Plugins中搜尋cmake就能找到,勾選後按下Install鈕就能夠安裝。

執行Build :

接著按下New Project...新增專案。

選擇Project with Existing Sources繼續。

然後選擇Whitequark的Solvespace原始碼目錄。

並使用Automatic讓cmake自動清理專案,直接按完成就會開始Clean和嘗試Build。

這時在Build時會出現錯誤,顯示一串類似undefined reference to `BZ2_bzDecompressEnd'的訊息,是因為沒有加入bz2的程式庫連結所致。

這時開啟專案內的\src\CMakeLists.txt,找到target_link_libraries這一行,並將bz2加到最後的括弧內,就可以繼續完成Build。

註:如果不是填在最後一項會有讀取順序錯誤的問題。

修改CMake的清單後,就能順利建立solvespace.exe和CDemo.exe,分別存放在\src和\exposed資料夾下。


接下來就是研究如何應用CDemo的解題程式協助解開範例,最後再修改供Python3呼叫和取用其動態連結庫。


Comments

comments powered by Disqus