2015年5月6日

TeXworksのビルド(MinGW)

先日の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

2 件のコメント:

  1. こりゃー、apt-getなどのpackage managerが欲しくなりますね。

    返信削除
  2. UNIX由来だったりマルチプラットフォームだったりするやつはこのライブラリ集めがしんどいです.mingw-getは少ないしなぁ.

    返信削除

コメントの追加にはサードパーティーCookieの許可が必要です