2020/03/10(火) [n年前の日記]
#1 [prog] QtSDKをインストールしてみたり
PySide2 について勉強しているうちに、Qt Creator等に興味が湧いてきたので、Qt (QtSDK) をインストールしてみようかと。環境は Windows10 x64 1909。
既に Qt 5.5 がインストールされていたので、コントロールパネル経由でアンインストール。
現行のオープンソース版を入手。
_Download Offline Installers
「Qt 5.14.1 for Windows (2.3 GB)」をダウンロード。ファイル名は、qt-opensource-windows-x86-5.14.1.exe だった。
インストーラを実行して、今回は D:\Qt\ 以下にインストール。
この版は、Qtの公式サイトでユーザアカウントを取得して、インストーラ画面上でログインしないとインストールできないっぽい。以前の版はアカウント登録しなくても該当画面をSkipできたらしいのだけど…。仕方ないので一応アカウントを取得したけれど、個人情報流出云々で時々騒動が起きてしまうこの御時世に何故あえて、という気もする…。不要な個人情報はそもそも集めないのが最強のセキュリティ対策なのでは…。
それはさておき。今回は、MinGW 7.3.0 関係にチェックを入れてインストールした。
既に Qt 5.5 がインストールされていたので、コントロールパネル経由でアンインストール。
現行のオープンソース版を入手。
_Download Offline Installers
「Qt 5.14.1 for Windows (2.3 GB)」をダウンロード。ファイル名は、qt-opensource-windows-x86-5.14.1.exe だった。
インストーラを実行して、今回は D:\Qt\ 以下にインストール。
この版は、Qtの公式サイトでユーザアカウントを取得して、インストーラ画面上でログインしないとインストールできないっぽい。以前の版はアカウント登録しなくても該当画面をSkipできたらしいのだけど…。仕方ないので一応アカウントを取得したけれど、個人情報流出云々で時々騒動が起きてしまうこの御時世に何故あえて、という気もする…。不要な個人情報はそもそも集めないのが最強のセキュリティ対策なのでは…。
それはさておき。今回は、MinGW 7.3.0 関係にチェックを入れてインストールした。
◎ 問題発生。 :
ひとまずインストールして、Qt Creator 4.11.0 (Community) を起動したが、lldb.exe が「python36.dll が見つからない」とエラーを出す。
Qtインストールフォルダを検索してみたが、lldb.exe なんて存在しない…。
which lldb と打ってみて、lldb.exe の居場所が分かった。LLVM 9.0.0 のインストールフォルダ内に居た。
以前、Aseprite をビルドできるか試した際に LVM 9.0.0 をインストールして、それが邪魔をしてきた模様。とりあえず、Python 3.6.8 Windows版 64bit をインストールして、その中の python36.dll を LLVMインストールフォルダ\bin\ 以下にコピーしてみたらエラーが出なくなった。
Qtインストールフォルダを検索してみたが、lldb.exe なんて存在しない…。
which lldb と打ってみて、lldb.exe の居場所が分かった。LLVM 9.0.0 のインストールフォルダ内に居た。
以前、Aseprite をビルドできるか試した際に LVM 9.0.0 をインストールして、それが邪魔をしてきた模様。とりあえず、Python 3.6.8 Windows版 64bit をインストールして、その中の python36.dll を LLVMインストールフォルダ\bin\ 以下にコピーしてみたらエラーが出なくなった。
◎ ビルドしたexeを実行。 :
Hwlloworld をやってみて、.exe が生成された。しかし、ビルドした .exe を直接実行しようとしても、「DLLがねえよ」的なエラーメッセージが出てしまう。
Qt を使った .exe を実行するには、MinGWとQt関係のDLLが必要になるらしい。
_Qt Creatorでビルドした.exeファイルを実行/配布する - Qiita
今回の場合、以下の2つのディレクトリにパスを通すことで実行可能になる模様。
PATHの通った場所に、qtpath.bat を作成して、環境変数 PATH に上記の場所を追加するようにしてみる。
これで、qtpath.bat を実行してから .exe を実行すれば動くようになった。
Qt を使った .exe を実行するには、MinGWとQt関係のDLLが必要になるらしい。
_Qt Creatorでビルドした.exeファイルを実行/配布する - Qiita
今回の場合、以下の2つのディレクトリにパスを通すことで実行可能になる模様。
D:\Qt\Qt5.14.1\5.14.1\mingw73_64\bin D:\Qt\Qt5.14.1\Tools\mingw730_64\bin
PATHの通った場所に、qtpath.bat を作成して、環境変数 PATH に上記の場所を追加するようにしてみる。
@set QTMINGWPATHA=D:\Qt\Qt5.14.1\5.14.1\mingw73_64\bin @set QTMINGWPATHB=D:\Qt\Qt5.14.1\Tools\mingw730_64\bin @set PATH=%QTMINGWPATHA%;%QTMINGWPATHB%;%PATH% @echo Add Qt - MinGW path @echo %QTMINGWPATHA% @echo %QTMINGWPATHB%
これで、qtpath.bat を実行してから .exe を実行すれば動くようになった。
◎ exeを配布可能な状態にする。 :
もし、ビルドした exe を配布したい場合、動作に必要なDLLを一緒に入れて配布しないといけない。そのためには、どんなDLLが必要になるかを調べないといけないわけで…。
_Qt Creatorでビルドした.exeファイルを実行/配布する - Qiita
windeployqt.exe を使えば、exeの動作に必要なDLLを調査して、集めてコピーしてくれるそうで。今回の場合は、以下に入ってる。
使い方は以下。
この、動作に必要なDLLを集めてくるソレを deploy と呼ぶらしいけど。Qt Creator のプロジェクト設定で独自コマンドを走らせて、リリースビルド時に自動でdeployしたほうがいいかもしれない。以下のページで解説されてた。
_Qt Creatorを用いた自動deploy方法 (Windows 編) [Qt] - nprogram’s blog
D:\Qt\Qt5.14.1\Tools\deploy.bat を作成。内容は以下。「デバッグ」でビルドした時は何もせず、「リリース」でビルドした時に、deploy というディレクトリを作って、その中に exe と dll を集めてくれる。はず。
Qt Creator 上のプロジェクト設定で、以下を設定。
とりあえず、これで Helloworld の exe を作るところまではできた。
_Qt Creatorでビルドした.exeファイルを実行/配布する - Qiita
windeployqt.exe を使えば、exeの動作に必要なDLLを調査して、集めてコピーしてくれるそうで。今回の場合は、以下に入ってる。
D:\Qt\Qt5.14.1\5.14.1\mingw73_64\bin\windeployqt.exe
使い方は以下。
windeployqt.exe hoge.exe
この、動作に必要なDLLを集めてくるソレを deploy と呼ぶらしいけど。Qt Creator のプロジェクト設定で独自コマンドを走らせて、リリースビルド時に自動でdeployしたほうがいいかもしれない。以下のページで解説されてた。
_Qt Creatorを用いた自動deploy方法 (Windows 編) [Qt] - nprogram’s blog
D:\Qt\Qt5.14.1\Tools\deploy.bat を作成。内容は以下。「デバッグ」でビルドした時は何もせず、「リリース」でビルドした時に、deploy というディレクトリを作って、その中に exe と dll を集めてくれる。はず。
if "%1"=="デバッグ" goto END set BUILD_MODE=release set DEPLOYTOOL=D:\Qt\Qt5.14.1\5.14.1\mingw73_64\bin\windeployqt.exe if not exist deploy\nul ( mkdir deploy ) xcopy /C /Y *.exe deploy\ %DEPLOYTOOL% deploy\%2.exe :END
Qt Creator 上のプロジェクト設定で、以下を設定。
Command: D:\Qt\5.9.1\tool\deploy.bat Arguments: %{CurrentBuild:Name} %{CurrentProject:Name} Working directory: %{buildDir}
とりあえず、これで Helloworld の exe を作るところまではできた。
[ ツッコむ ]
#2 [prog] Asepriteがビルドできるか試したり
以前、Windows10 x64 190x + Visual Studio 2019 Community で、ドットエディタ Aseprite をビルドできるか試したのだけど。
Aseprite の INSTALL.md を眺めてみたら、今時は skiaライブラリをビルドしなくてもコンパイル済みのバイナリがあるらしいと知り。
_aseprite/INSTALL.md at master - aseprite/aseprite
であれば、skiaライブラリをビルドするための devopt_tools や LLVM は不要になったからアンインストールできるのでは、と思えてきたわけで。
でも、本当にビルドできるのかな。気になったので試したり。
注意点。github から git を使って Aseprite の最新版ソースを clone した際には、ビルド済みのskiaライブラリが使えるよ、という話のようで…。Release版から入手できる zip をビルドする場合は、そういうわけにはいかないっぽい。zip版で試したら、cmake を動かした際にエラーで止まってしまったので。
Aseprite の INSTALL.md を眺めてみたら、今時は skiaライブラリをビルドしなくてもコンパイル済みのバイナリがあるらしいと知り。
_aseprite/INSTALL.md at master - aseprite/aseprite
であれば、skiaライブラリをビルドするための devopt_tools や LLVM は不要になったからアンインストールできるのでは、と思えてきたわけで。
でも、本当にビルドできるのかな。気になったので試したり。
注意点。github から git を使って Aseprite の最新版ソースを clone した際には、ビルド済みのskiaライブラリが使えるよ、という話のようで…。Release版から入手できる zip をビルドする場合は、そういうわけにはいかないっぽい。zip版で試したら、cmake を動かした際にエラーで止まってしまったので。
◎ 必要なツールを入手。 :
Visual Studio 2019 Community はインストール済みであるとして。
cmake は、cmake-3.16.5-win64-x64.msi を入手して、D:\Dev\CMake\ にインストールした。
_Download | CMake
ninja は、ninja-win_1.10.0.zip を入手。解凍して、PATH の通ったどこかに置いた。
_Releases - ninja-build/ninja
skiaライブラリは、Skia-m81 を入手。Skia-Windows-Release-x64.zip をDLして解凍。D:\deps\skia\ 以下に置いた。
_Releases - aseprite/skia
cmake は、cmake-3.16.5-win64-x64.msi を入手して、D:\Dev\CMake\ にインストールした。
_Download | CMake
ninja は、ninja-win_1.10.0.zip を入手。解凍して、PATH の通ったどこかに置いた。
_Releases - ninja-build/ninja
skiaライブラリは、Skia-m81 を入手。Skia-Windows-Release-x64.zip をDLして解凍。D:\deps\skia\ 以下に置いた。
_Releases - aseprite/skia
◎ ビルド手順。 :
Aseprite の INSTALL.md を参照のこと。
注意点。DOS窓の文字コードがSJISだと、ビルド中にエラーが出まくった。chcp 65001 と打って Unicode に切り替えておいたほうが無難かもしれない。ちなみに、SJIS に戻すときは chcp 932。
やたらと警告が出まくっていたけど、とりあえず、C:\aseprite\build\bin\ 以下に、ビルドされたファイル群が出来上がった。かつ、起動もした。
つまり、skia をビルドするために必要な、deopt_tools や LLVM は、今後は不要だなと…。D:\depot_tools\ は削除。かつ、LLVM はコントロールパネル経由でアンインストールした。HDDの空き容量が数GB増えてくれた。ありがたや。
注意点。DOS窓の文字コードがSJISだと、ビルド中にエラーが出まくった。chcp 65001 と打って Unicode に切り替えておいたほうが無難かもしれない。ちなみに、SJIS に戻すときは chcp 932。
やたらと警告が出まくっていたけど、とりあえず、C:\aseprite\build\bin\ 以下に、ビルドされたファイル群が出来上がった。かつ、起動もした。
つまり、skia をビルドするために必要な、deopt_tools や LLVM は、今後は不要だなと…。D:\depot_tools\ は削除。かつ、LLVM はコントロールパネル経由でアンインストールした。HDDの空き容量が数GB増えてくれた。ありがたや。
◎ ビルドはできたものの。 :
一応ビルドはできたものの。自分の場合、せっかくビルドした Aseprite を全然使ってなかったりして…。
今のところ、GrafX2 でドットを打ってから EDGE2 で修正、という流れで済んでしまっているので…。
_GrafX2 - The ultimate 256-color painting program
_高機能ドット絵エディタ EDGE2 | TAKABO SOFT
今のところ、GrafX2 でドットを打ってから EDGE2 で修正、という流れで済んでしまっているので…。
_GrafX2 - The ultimate 256-color painting program
_高機能ドット絵エディタ EDGE2 | TAKABO SOFT
[ ツッコむ ]
#3 [cg_tools] GrafX2を2.7.2978にアップデート
ドットエディタ GrafX2 の、2.7.2978が公開されていたらしい。今まで 2.7wip2927 を入れていたのでアップデート。環境は Windows10 x64 1909。
_GrafX2 - The ultimate 256-color painting program
比較的安定動作しているように思えたので、今まで入れていた、2.7.2945 GDI,SDL2版と、2.7wip2927 GDI,SDL2版を削除しておいた。とメモ。
_GrafX2 - The ultimate 256-color painting program
比較的安定動作しているように思えたので、今まで入れていた、2.7.2945 GDI,SDL2版と、2.7wip2927 GDI,SDL2版を削除しておいた。とメモ。
[ ツッコむ ]
以上、1 日分です。