[CMAKE][Windows10]Windows10でJuman++をビルドするCMAKE環境を構築する
最近、Juman++をWindows10でビルドする必要があったので、
構築手順をメモしておくことにした。
(過程1)
Windows10でJuman++をビルドするためには、CMAKEを実行できる環境が必要となる。
※CMAKEの環境整備には、Visual Studio Community 2019を使用する。
MicrosoftのVisualStudio無償版をダウンロードする。
vs_Community.exeを実行すると、ダウンロードが始まるので、
ダウンロード後、インストールを行い、再起動する。
Visual Studio Installerを起動して、
Visual Studio Community 2019の変更を選択。
○ワークロードで必要なもの
・ユニバーサルWindowsプラットフォーム開発
これをインストールしなければ、
イニシャライズのコマンド実行時に下記エラーが発生する。
「the c compiler identification is unknown」
「the cxx compiler identification is unknown」
・C++によるデスクトップ開発
これをインストールしなければ、
イニシャライズのコマンド実行時に下記エラーが発生する。
「WindowsSDKDir プロパティが定義されていません」
○個別のコンポーネントでインストールしたもの
・Windows 用 C++ CMake ツール
・MSBuild
・MSVC v142 - VS 2019 C++ x64/x86 ビルド ツール (v14.27)
※
最初は、個別コンポーネントのみで構築できるかと思って試したが、
結局、ワークロードのコンポーネントが必要になったので、
ワークロードのコンポーネントの方からインストールすべきだった。
(過程2)
Juman++の入手とビルド。
GitHubより、jumanpp-2.0.0-rc3を入手した。
ビルド環境は、Cドライブ直下にworkフォルダを作成、
jumanpp-2.0.0-rc3を解凍し、格納。
過程1でVisualStudio経由でCMAKEが使用可能となったので、
Windowsのコマンドプロンプトではなく、
アプリ一覧に追加された「Developer Command Prompt for VS 2019」を使用して
Juman++をビルドする。
|
(過程2でのイニシャライズエラー等の回避策について)
○'pthread.h':No such file or directory
何とか対策できないものかと、VisualStudioのlib、bin、includeに、
ftp://sourceware.org/pub/pthreads-win32/dll-latest/
からダウンロードして、x64、x86フォルダに格納しましたが、
結局該当のメッセージは解決しませんでした。
気になりましたが、今回のビルドでは、対策をしなくて問題なかったです。
○Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)
これは、GitHubからprotobuf 3.0 windowsの最新版をダウンロードして、
protoc-3.13.0-win64.zipを入手。
これを解凍して、
「C:\Program Files\protoc-3.13.0-win64\bin」に格納。
その後で、
システムの詳細設定→環境変数→Pathに「C:\Program Files\protoc-3.13.0-win64\bin」を追加することで対策。
○file DOWNLOAD HASH mismatch
for file: [C:/work/jumanpp-2.0.0-rc3/cmake-build-dir/libs/eigen.tar.bz2]
○file RENAME given incorrect number of arguments.
これらは、少し面倒だったので、
C:/work/jumanpp-2.0.0-rc3/libs/CMakeLists.txtを編集。
赤字部分が強引に書き換えたところ。
|
上記の書き換えをすることで、イニシャライズ時のエラーは回避できました。
ビルドする為だけの即席の暫定対応なので、現実的にはあまり良い対応ではありません。
従って、もちろん、そのままでは、MSBuildを実行した際に、
eigen3関連の参照ができませんので、エラーとなります。
私が実行した際には、eigen3の関連する箇所のみエラーとなりました。
そこで、またまた簡単な即席対応として、
本来eigen3が格納されていなければならないパス
「C:\work\jumanpp-2.0.0-rc3\libs\eigen3」にeigen-3.3.8.zipを
eigen配布元からダウンロードし、
解凍して、フォルダの中身のファイル一式を格納しました。
結果、イニシャライズで発生していたエラーを解消した上で、
MSBuildも実行できるようになりました。
凄く雑な対応なのですが、目的は、Windows10でJuman++をビルドできるようにすることでしたので、ご容赦ください。
こんな対応方法もあるのかくらいの参考になれば幸いです。
※11月3日追記
私が苦労したのは、jumanpp-2.0.0-rc3.zip(約1MB)をダウンロードしてビルドしようとしていたという点もあるようです。
辞書ファイルがなかったので、改めてGitHubを確認したところ、
jumanpp-2.0.0-rc3.tar.xz(約300MB)にengen3や辞書ファイル一式を含むものがありました。
とりあえず、上記に記載した手順で生成した「jumanpp_v2.exe」でも正常に動作しましたので、良しとします。
そのうち、後者を使用して、別のPCでも1から環境構築を試してみようと思いました。
0 件のコメント
コメントを投稿