オープンソースのビルド MuseScore

提供:yonewiki
2026年5月29日 (金) 20:50時点におけるYo-net (トーク | 投稿記録)による版 (→‎概要)

言語と開発環境に戻る。

概要

 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のビルドはおしまい。

 

時事情報

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

 

言語と開発環境に戻る。