由原始碼編譯出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