Code Monkey home page Code Monkey logo

cantatawin's Introduction

Windows10でCantata2.3.3をつくるやり方

最初にお断り

「私がこうやったらできた」というだけで万人がこれで上手く行く、とは限りませんのでメモとして残しておきますが、無保証です。サポートも行いません。本来の作者であるCraigDさんにサポートを求めるのもしないでください。あらかじめご了承ください。

Qtを入れる

こっからフリーのを落とす!→ 32bitアプリを作るので5.11.2のmingw-32のを入れます。Qt Creatorは勝手に入るけど使わないかもしれません。作者はQt Creatorでビルドしろって書いてあったけど上手く行かなかったです。やり方が悪かったのかもしれません。 C:\dev\Qtがトップのフォルダーになるようにします(ここは作者の言うとおりに)。

SSL関係のDLLを入れる

なんか怪しいけどWin32って書いてある方を落とす!→展開し、C:\dev\sslへ。

CMAKEを入れる

こっから最新の32bit版を落とす!→ Zip版でいいです。展開してC:\dev\cmakeへ。

環境変数を作る

コントロールパネル→システム→システムの詳細設定→環境変数でプロパティを出す。 ユーザー環境変数を追加する。 CMAKE_PREFIX_PATH C:\dev\Qt\5.11.2\mingw53_32
QTDIR C:\dev\Qt\5.11.2\mingw53_32
PATHに追加 C:\dev\Qt\Tools\mingw530_32\bin;C:\dev\Qt\5.11.2\mingw53_32\bin;c:\dev\taglib\bin;c:\dev\cmake\bin:c:\dev\zlib\bin
ZLIB_INCLUDE_DIR C:\dev\zlib\include
ZLIB_LIBRARY C:\dev\zlib\bin

作者がしろって言うから…。

ここまでしたら環境変数を反映させるために再起動する(多分プロパティを閉じて反映はされるとは思うけど念のために)。

Zlibを作る

こっから最新のソースを落とす!→展開しC:\dev\zlibへ。

C:\dev\cmake\Cmake-Gui.exeを立ち上げ、Browse Sourceでそのフォルダを開くようにする。Browse Buildも同じフォルダにする。
ウインドウの真ん中あたりにあるConfigureボタンを押下する。なにでビルドするか聞かれるのでMinGW Makefilesを選択します。
Finishボタンを押下するとなんらかの処理をし始めてConfigureボタンの上側のリストが真っ赤になります。エラーではなくて、設定してくれ!というメッセージのようです。 CMAKE_BUILD_TYPEReleaseと入れます。CMAKE_INSTALL_PREFIXにはC:/dev/zlibを入れます。INSTALL_BIN_DIRにはC:/dev/zlib/bin、INC、LIB、MAN、PKGCONFIGのそれぞれのDIRもC:/dev/zlibから始まるようにします。一番下のLIBRARY_OUTPUT_PATHC:/dev/zlib/libでいいでしょう。
そして再びConfigureボタンを押下すると赤かったのが無くなってボタンの下にConfiguring doneと出ます。
そうしたらGenerateボタンを押下してください。
Generating doneと出てきたら成功です。やったね。Cmakeはここでいったんお役御免。

Windowsスタートメニューボタンを右クリックしてWindows PowerShellを押下します。

cd \dev\zlib

でカレントフォルダを移動します。そこで

mingw32-make.exe install

を実行します。ずらーっとなんらかの文字列が流れていき、最後に指定したフォルダになんらかのファイルが格納されるはず、です。.objファイルと.aファイルはいらないので

mingw32-make.exe clean

で消します。消えます。残ったファイル、.dllファイルと.dll.aファイルとincludeフォルダの.hファイルは必要です。ので消さないでください。PowerShellはいったん閉じます。閉じなくてもまた使いますのでそのままでもいいです。

taglibを作る

こっから最新のソースを落とす!→展開しC:\dev\taglibへ。

再びCmake-gui.exeを起動し、Browse SourceをC:\dev\taglibを選び、Browse Buildも同じフォルダにします。
Configureボタンを押下し、先ほどのzlibと同じようにMinGW Makefilesを選びます。先ほどより長くなんらかの作業が行われ、また赤くなります。CMAKE_BUILD_TYPEReleaseを入れ、DIRの項は同じようにC:/dev/taglib配下に置くように設定します。またBUILD_SHARED_LIBSにチェックを入れます。
再びConfigureボタンを押下し、Configuring doneが出てきたらこっちのもんです。すかさずGenerateを押下しましょう。エラーが出なければまたMakefileができあがります。赤文字を読んでZLIB関連のエラーが気になるのであればAdvancedにチェックを入れ詳細設定を出し、ZLIB関連の設定をしてあげましょう。

cd \dev\taglib

し、同じように

mingw-32.exe install

しましょう。zlibよりもファイルが多いため割と時間がかかります。エラーっぽいのも出てきますが、できるファイルに特に動作には支障がなさそうなのでこれでできあがりです。また

mingw-32.exe clean

をして余計なファイルは削除しておきましょう。なんか長かったですね。でもまだCantataビルドしてないんですよ。これからです。では行きましょう。

Cantataをビルドする

こっから最新のソースを落とす!→展開しC:\Cantata\srcへ。

Cantata配下にはinstallフォルダも作っておきます。ここにビルドされたファイルが入るようにします。
Browse SourceC:/cantata/srcBrowse BuildC:/cantata/srcを選びます。しかる後にConfigureボタンを押下するとエラーが出ます。Qtスタジオなら多分出ないであろうエラーになります。ここからはエラーをしらみつぶしにしていきます。
まずCMAKE_BUILD_TYPEReleaseを入れます。CMAKE_INSTALL_PREFIXC:/cantata/installをいれます。SHARE_INSTALL_PREFIXにもC:/cantata/installをいれます。Advancedにチェックを入れ、TAGLIB_INCLUDESC:/dev/taglib/includeZLIB_INCLUDE_DIRをZLIBを作ったときにできたincludeフォルダを指定し、ZLIB_LIBRARY_RELEASEに作ったlibzlib.dllを指定し、またConfigureボタンを押下すると恐らく上手いことエラーがでないはずです。そうしたらGenerateボタンを押下し、Makefileを作りましょう。
PowerShell上で

cd \cantata\src

し、

mingw32-make.exe install

しましょう。これはtaglibを作るよりもはるかに時間がかかります。お茶でも飲むかなんか他のことをしてましょう。

……エラーが出て止まりましたね。ここでQt Creatorの出番です。Qt Creatorを立ち上げ、ファイルファイル/プロジェクトを開くC:/cantata/src/windows/CMakeList.txtを開きます。そうするとConfigure Project画面になるのでDesktop Qt 5.11.2 MinGW 32bitにだけチェックを入れます。そして画面を下にスクロールさせ、Configure Projectボタンを押下します。そしてQt Creatorの左側にあるプロジェクトボタンを押下し、Build & RunのところのBuildが選ばれた状態になり、画面の右側にいろいろと書かれている画面が出たと思います。その中のCMAKE_CODEBLOCKS_MAKE_ARGUMENTS../src -DCMAKE_BUILD_TYPE=Release -DENABLE_TAGLIB=OFF -DTAGLIB_FOUND=1 -DTAGLIB_INCLUDES=c:/dev/taglib/include -DTAGLIB_LIBRARIES=c:/dev/taglib/lib/libtag.dll.a -DTAGLIB_MP4_FOUND=1 -DTAGLIB_ASF_FOUND=1 -DTAGLIB_CAN_SAVE_ID3VER=1 -DZLIB_INCLUDE_DIR=c:/dev/zlib/include -DZLIB_LIBRARY=c:/dev/zlib/lib/libz.dll.a -DCMAKE_INSTALL_PREFIX=c:/cantata/install -DCANTATA_WINDOWS_INSTALLER_DEST=c:/cantata -DCANTATA_SSL_LIBS=c:/dev/ssl/libeay32.dll;c:/dev/ssl/ssleay32.dllを入れます。で、ビルドステップと書いてある上にある設定の変更を適用ボタンを押下します。
Qt Creatorのファイルすべて保存をします。
Cmake-gui.exeを立ち上げ、Configureボタンを押下し、設定をし直して何度かConfigureボタンを押下し、エラーが出ないようにしてから、Generateボタンを押下してください。
エラーが出ないようでしたら、PowerShellを立ち上げ

cd \cantata\src

をして

mingw32-make.exe install

を実行してください。今度こそお茶が飲める、と思います。なんならカップラーメンもお湯を沸かす所から作って食べられる時間ができると思います。
でも、installに入ったところでインストールエラーで止まるんです。libz-1.dllが無いって言われて。そんなの作ってないですよね。大丈夫です。c:\dev\zlib\binにあったlibzlib.dllをその場にコピーしてlibz-1.dllにすれば引っ張ってきます。

.nsiファイルを使用してインストーラーを作る

ここまで来ればCantata2.3.3はできあがりです。アイコンをダブルクリックすれば立ち上がると思います。でもなんとなくむずがゆい。
恐らくSetup.exeみたいなインストーラーからインストールしてないからだと思います。
そこで、せっかくなので(?)インストーラーも作りたいと思います。そのための.nsiファイルなんですね。 NSIS-Downloadからインストーラーを作るNSIS 3.04をダウンロードし、インストールして立ち上げます。立ち上がったら左上のCompilerCompile NSI scriptsを押下し、MakeNSISW画面を出し、FileLoad Scriptを押下し、C:\cantata\install内にあるcantata.nsiを選び、開くボタンを押下します。そうするとスクリプトが自動的に動き、インストーラーがじきにできあがります。Test Installerボタンを押下するとインストーラーが立ち上がります。見覚えのあるインストーラーが!ということでインストールしてCantataを立ち上げます。右上のハンバーガーメニューからCantataについてを選ぶとCantata 2.3.3の文字が出ているはずです。お疲れ様でした。え、そのインストーラーを公開しろですって?しょうがないにゃあ、無保証、無サポートですよ(Not Support, Not Warranty)。マジで「ウチの環境では動く」をしているので…。

cantatawin's People

Contributors

barippi avatar

Stargazers

Artyom Shurygin avatar  avatar

Watchers

 avatar

Forkers

tml3nr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.