Windows 編譯 OpenCC實戰 MinGW+Cmake編譯

當初為了要寫 epub 電子書 簡體轉繁體的Windows版本,所以就從Python + OpenCC下手,後來Python上的OpenCC套件轉換的效率很差,只能一行一行轉(還是我不會用XD?)

後來就還是用編譯後的OpenCC可以直接把檔案帶進去直接翻譯,一開始是用網路上其他人編譯好的檔案,後來因為自己在看小說發現”才”都會變成”纔”,雖然看的懂但是就很礙眼(笑

接下來就自己編譯,當初試了很多方法裝了 vs2015、vs2017、cmake….結果都失敗,當然看網路的教學都跟我實際實做的不一樣,讓我整個黑人問號

後來就靠MinGW+Cmake搞定,

MinGW下載:https://sourceforge.net/projects/mingw/

Cmake下載:https://cmake.org/download/

Cmake可以下載免安裝的版本,只是要把 “(path)\cmake\bin” 加入到環境變數Path中 (path自己改路徑阿!)

MinGW安裝完之後 在 “Basic Setup” 中全部的 package 都安裝

“All Packages” -> “MinGW Libraries” 中選擇以下安裝

mingw32-libgmp

mingw32-libisl

mingw32-libmingwex

mingw32-libmpc

mingw32-libmpfr

mingw32-libpthreadgc

mingw32-libpthreadgce

mingw32-libz

mingw32-mingwrt

mingw32-pthreads-w32

mingw32-w32api

一般就安裝 dll 的 class 就可以了,接下來就把OpenCC的原始碼下載下來,並用cmd切換到OpenCC的目錄

接下來執行以下命令


cmake -H. -Bbuild -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX="bin"

cmake --build build --config Release --target install

如果正常的話就會完成編譯,有錯誤的話就要看錯誤在哪邊,我自己遇到的是

c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot fin d -lpthread

後來安裝了 pthread就完成了,有些人是遇到Python找不到,那就要安裝Python後再次編譯

然後整個Windows版本的OpenCC目錄就會在OpenCC-master\build\src\tools中,

包含libopencc.dll、libopencc.dll.a、opencc.exe、opencc_dict.exe、Opencc_Export.h、opencc_phrase_extract.exe

還有\OpenCC-master\build\data中的所有ocd檔案

然後再加上OpenCC-master\data\config中的所有json檔案,全部丟到同一個資料夾就可以運作了~(灑花

發表迴響