「オープンソースのビルド MuseScore」の版間の差分

提供:yonewiki
編集の要約なし
 
(同じ利用者による、間の8版が非表示)
6行目: 6行目:
 問題なくビルドできました。またひとつ制覇したことになります。自分にできたということは誰にでもできる指標になります。是非、暇な人はトライしてみて欲しいですね。動かしてソースを理解し、知識を習得しましょう。
 問題なくビルドできました。またひとつ制覇したことになります。自分にできたということは誰にでもできる指標になります。是非、暇な人はトライしてみて欲しいですね。動かしてソースを理解し、知識を習得しましょう。


 [[Git]]コマンドを使ってインストールしましょう。ZIPダウンロードだとソースが不足して失敗します。
C:\Src>git clone --recursive ht<span>tp</span>s://github.com/musescore/MuseScore.git
C:\Src>cd MuseScore
C:\Src\MuseScore>git checkout v4.7.0
C:\Src\MuseScore>git submodule update --init --recursive
 次にCMAKEをしたいんだけど、その前にMuseScoreはアプリケーション開発フレームワークのQtが必要なので[[Qt Tech. Qtインストール方法|Qtをインストール]]しよう。MuseScore4.7.0に対してはQt 6.10.2が必要なのだそうだ。Qt 6.10.3ではダメなので注意が必要です。対応表は[https://github.com/musescore/MuseScore/wiki/Install-Qt-and-Qt-Creator#select-qt-components ここ]にある。
 インストールが終わったら、環境変数のPATH変数に以下を追加しよう
*C:\Qt\6.10.2\msvc2022_64\bin
 バージョン番号はインストールしたバージョンと合わせないといけないよ。
 そしたら
C:\Src\MuseScore>cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release
 と実行してみよう。30分くらいしたら、CMake処理が完了して、C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Releaseの中にMuseScore.slnがあるので、これを開くとビルドできるようになってる。ただし、管理人の場合MuseScore 4.7.0ではnotationscene_qml_tests.vcxprojでリンクエラーが発生しまして、notationscene_qml_tests.vcxprojのプロパティからリンクの入力の設定を開いて編集します。..\..\..\..\..\framework\uicomponents\qml\Muse\UiComponents\muse_uicomponents_qml_resources_2.dir\Release\qrc_muse_uicomponents_qml_raw_qml_0_init.objへのリンク設定など..\..\..\..\..\framework\uicomponents\qml\Muse\UiComponents\系へのリンクが7つあるので、これを全て絶対パスにしてあげることでビルドができるようになりました。C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Release\src\framework\uicomponents\qml\Muse\UiComponents\muse_uicomponents_qml_resources_2.dir\Release\qrc_muse_uicomponents_qml_raw_qml_0_init.objのようになるよね。これを7つ全部..\..\..\..\..\→C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Release\srcにそれぞれの構成ReleaseとDebugについて置き換える。
 あとはビルドするだけだねDebug版を主に使って研究できるから、今回はこれでいい。ちなみにRelWithDebInfoとMinSizeRelという構成についてはビルドできるようにはならない。何かが足りないみたいだけどビルドログにエラーはないのにデバッグ失敗となるので原因は不明。RelWithDebInfoはRelease版だけに発生するバグがあってこれをデバッグするときに必要な軽量デバッグモードです。MuseScoreの開発者として参加しない限り、理解できる必要のない構成です。特殊なサイズのMuseScoreでMinSizeRelも軽量デバッグのためのものです。最小構成で構築するためのものらしい。
 なので完璧なビルドまではたどり着けずです。申し訳ない。でもここまで出来たら十分とも言えますよ。
 4年ほど前は外部参照ライブラリ(PNGやFreeTypeといった外部ライブラリ)のビルドをひとつづつやっていく必要があったけど今は簡単にビルドできるようになっているね。楽々ですが、巨大すぎて手に負えないのは変わらない。
 やったね。これだけでMuseScoreのビルドはおしまい。


 
 

2026年5月29日 (金) 20:52時点における最新版

言語と開発環境に戻る。

概要

 MuseScoreは楽譜作成と簡単な試聴を行うオープンソースのフリーソフトウェアです。この記事はとにかくオープンソースソフトウェアをビルドしてみようとする記事です。


 問題なくビルドできました。またひとつ制覇したことになります。自分にできたということは誰にでもできる指標になります。是非、暇な人はトライしてみて欲しいですね。動かしてソースを理解し、知識を習得しましょう。


 Gitコマンドを使ってインストールしましょう。ZIPダウンロードだとソースが不足して失敗します。


C:\Src>git clone --recursive https://github.com/musescore/MuseScore.git


C:\Src>cd MuseScore


C:\Src\MuseScore>git checkout v4.7.0


C:\Src\MuseScore>git submodule update --init --recursive


 次にCMAKEをしたいんだけど、その前にMuseScoreはアプリケーション開発フレームワークのQtが必要なのでQtをインストールしよう。MuseScore4.7.0に対してはQt 6.10.2が必要なのだそうだ。Qt 6.10.3ではダメなので注意が必要です。対応表はここにある。


 インストールが終わったら、環境変数のPATH変数に以下を追加しよう


  • C:\Qt\6.10.2\msvc2022_64\bin


 バージョン番号はインストールしたバージョンと合わせないといけないよ。


 そしたら


C:\Src\MuseScore>cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release


 と実行してみよう。30分くらいしたら、CMake処理が完了して、C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Releaseの中にMuseScore.slnがあるので、これを開くとビルドできるようになってる。ただし、管理人の場合MuseScore 4.7.0ではnotationscene_qml_tests.vcxprojでリンクエラーが発生しまして、notationscene_qml_tests.vcxprojのプロパティからリンクの入力の設定を開いて編集します。..\..\..\..\..\framework\uicomponents\qml\Muse\UiComponents\muse_uicomponents_qml_resources_2.dir\Release\qrc_muse_uicomponents_qml_raw_qml_0_init.objへのリンク設定など..\..\..\..\..\framework\uicomponents\qml\Muse\UiComponents\系へのリンクが7つあるので、これを全て絶対パスにしてあげることでビルドができるようになりました。C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Release\src\framework\uicomponents\qml\Muse\UiComponents\muse_uicomponents_qml_resources_2.dir\Release\qrc_muse_uicomponents_qml_raw_qml_0_init.objのようになるよね。これを7つ全部..\..\..\..\..\→C:\Src\MuseScore\builds\Win-Qt6.10.2-msvc2022_64-VS17-Release\srcにそれぞれの構成ReleaseとDebugについて置き換える。


 あとはビルドするだけだねDebug版を主に使って研究できるから、今回はこれでいい。ちなみにRelWithDebInfoとMinSizeRelという構成についてはビルドできるようにはならない。何かが足りないみたいだけどビルドログにエラーはないのにデバッグ失敗となるので原因は不明。RelWithDebInfoはRelease版だけに発生するバグがあってこれをデバッグするときに必要な軽量デバッグモードです。MuseScoreの開発者として参加しない限り、理解できる必要のない構成です。特殊なサイズのMuseScoreでMinSizeRelも軽量デバッグのためのものです。最小構成で構築するためのものらしい。


 なので完璧なビルドまではたどり着けずです。申し訳ない。でもここまで出来たら十分とも言えますよ。


 4年ほど前は外部参照ライブラリ(PNGやFreeTypeといった外部ライブラリ)のビルドをひとつづつやっていく必要があったけど今は簡単にビルドできるようになっているね。楽々ですが、巨大すぎて手に負えないのは変わらない。


 やったね。これだけでMuseScoreのビルドはおしまい。

 

時事情報

 やってみたらうまくいかないことはよくあります。ここでは注意すべき事で気づいた点を勝手に記述して残しておくという非協力的な記事です。

 

言語と開発環境に戻る。