先日のTeXworksのMinGWによるビルド,意味があるかもしれないのでもう少し丁寧に書いてみることにする.基本的にはビルド方法のページに書いてある通りですが.記憶で書いているので,間違いもあるかも.ちなみに全部で10Gほどディスクを使う.(半分くらいはQt.)また,できあがるものは他ライブラリにdynamicに依存しているもの.TeX Liveのはstaticにリンクしてある.
MinGWのインストール
WebページのDownloads(左上にある)からmingw-get-setup.exeをダウンロードし実行.適当なフォルダにインストールを行う(以下C:\mingwと過程する).コマンドプロンプトを起動し,C:\mingw\binにcdして,次を実行し必要なものをインストールする.
C:\mingw\bin> mingw-get install mingw32-base mingw32-gcc-g++ msys-base mingw32-pthreads-w32 msys-libiconv
インストール後C:\mingw\msys\1.0\etcに以下の内容でfstabというファイルを作る.
C:/mingw /mingw
C:\mingw\msys\1.0\msys.batをダブルクリックするとMSYSが起動する.念のためgccがきちんとインストールされているか確認する.
$ gcc -v Using built-in specs. (途中略) Thread model: win32 gcc version 4.8.1 (GCC)
最後のバージョンが,以下で「MinGWのバージョン」として参照されるものなんだと思う.
GNUのライブラリ類をインストール
GnuWin Packagesから次のライブラリをダウンロード,インストールする.インストーラがあるのでそれで入れればよい.デフォルトではC:\Program Files (x86)\GnuWin32に入るはず(64bitの場合).
- freetype
- libjpeg
- libpng
- libtiff
- zlib
Qtのインストール
Webページから「Community」バージョンをダウンロードし,インストーラを起動.Qtのバージョンはどれでもよいのだが,さきほど見たMinGWのバージョンに対応している物にする.といいながら4.8.1は見当たらないのでQt 5.3の4.8.2かQt 5.1の4.8かを選んだ.かなり大量にダウンロードするので,じっと待つ.以下C:\Qt\5.3にインストールしたと仮定する.
cmakeのインストール
Webページから「Windows ZIP」をダウンロードし解凍.cmake\binにPATHを通しておく.(としたような気がする.かなり前なので忘れた.)
Hunspellのビルド
ここからビルドを開始する.ビルド用フォルダを作っておく.自分は~/build/texworksでやったので,以下それで書く.~/build/texworks/libsフォルダを作っておく.MSYSを起動(msys.batをダブルクリック)し,~/build/texworksに移動.手元では環境変数HOMEが設定されていないので,~の実体はC:\mingw\msys\1.0\home\USERNAMEになる.この情報は後で使う.どこだかわからなければ,MSYSを起動してホームディレクトリに移動し,次のようにして調べられる.
$ cmd /c cd C:\mingw\msys\1.0\home\USERNAME
WebページからSourceを取得し展開.おとしたのは1.3.3だった.
$ cd hunspell-1.3.3 $ ./configure --prefix=../libs $ cd src/hunspell $ make $ make install $ cd ../../..
Popplerのビルド
Webページからソースをダウンロードする.現在の最新版は0.32だが,pkg-configを要求されてビルド出来なかったので,以前のバージョンから0.28.1をおとして使った.解凍して次のようにビルド.(ホームディレクトリの部分は適当に編集が必要.)
$ cd poppler-0.28.1 $ mkdir build $ cd build $ cmake .. -G "MSYS Makefiles" -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/GnuWin32;C:/Qt/5.3/mingw482_32/lib/cmake" -DCMAKE_INSTALL_PREFIX=C:/MinGW/msys/1.0/home/USERNAME/build/texworks/libs -DENABLE_CPP:BOOL=False -DENABLE_XPDF_HEADERS:BOOL=True -DPOPPLER_DATADIR=share/poppler -DCMAKE_CXX_FLAGS=-D_WIN32_WINNT=0x0500 $ make $ make install $ cd ../..
ビルドのページにはGlobalParamsWin.ccの編集が書かれているが,しなかった(忘れただけ).またcmakeはコマンドラインから使うことにした.XPか否かに関係なく-DCMAKE_CXX_FLAGS=-D_WIN32_WINNT=0x0500はつけるべき.
TeXworksのビルド
Webページからソースをダウンロード.(Get itに進むとsourceへのリンクがある.)もし開発版をビルドしたい場合はgitでおとす.(gitのインストールが必要.)
git clone https://github.com/TeXworks/texworks.git
次でビルド.
$ cd texworks $ mkdir build $ cd build $ cmake .. -G "MSYS Makefiles" -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/GnuWin32;C:/Qt/5.3/mingw482_32/lib/cmake;C:/MinGW/msys/1.0/home/USERNAME/build/texworks/libs" -DDESIRED_QT_VERSION=5 -DBUILD_SHARED_PLUGINS:BOOL=False $ mv getGitRevInfo.bat getGitRevInfo_.bat $ mv getGitRevInfo.sh getGitRevInfo.bat $ make
無事ビルドされればTeXworks.exeができているはずである.
起動
たくさんのライブラリに依存しているので,このままでは起動出来ない.次のファイルを同じフォルダ(かPATHの通ったフォルダ)に入れておく.
- C:\Program Files (x86)\GnuWin32\binから
- freetype6.dll
- jpeg62.dll
- libpng3.dll
- libtiff3.dllv
- ~/build/texworks/libs/binから
- libhunspell-1.3-0.dll
- libpoppler-qt5.dll
- libpoppler.dll
- C:\Qt\5.3\mingw482_32\binから
- icudt51.dll
- icuin51.dll
- icuuc51.dll
- libgcc_s_dw2-1.dll
- libstdc++-6.dll
- libtiff3.dll
- libwinpthread-1.dll
- Qt5Core.dll
- Qt5Gui.dll
- Qt5Script.dll
- Qt5ScriptTools.dll
- Qt5Widgets.dll
- Qt5Xml.dll
こりゃー、apt-getなどのpackage managerが欲しくなりますね。
返信削除UNIX由来だったりマルチプラットフォームだったりするやつはこのライブラリ集めがしんどいです.mingw-getは少ないしなぁ.
返信削除