-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Install dependencies
You must have followed the required steps in Set up Developer Environment, Install Qt and Qt Creator and Get MuseScore's source code.
At this point you could proceed straight to Compile on the command line. If the build fails (which it will) then you can use the error messages to determine which dependencies you need to install. Simply paste the error message into your preferred search engine and see what comes up.
However, to save you time, we have listed the dependencies below. You can also check our CI build scripts for ideas.
See buildscripts/ci/linux/setup.sh for clues.
Includes Debian, Ubuntu, and all their derivatives that use the apt
package manager and DEB packaging format.
See buildscripts/ci/linux/setup.sh for the full list of dependencies required on minimal environments like Docker.
dependencies=(
# Alphabetical order please!
g++
libasound2-dev
libfreetype6
libfreetype6-dev
libsndfile1-dev
libssl-dev
libportmidi-dev
libpulse-dev
portaudio19-dev
)
sudo apt install "${dependencies[@]}"
On some Ubuntu flavours, you may need to add libgl1-mesa-dev
and libxkbcommon-dev
for build.cmake
to work properly. Also, qtcreator requires libxcb-cursor0
See buildscripts/ci/macos/setup.sh for clues.
brew install libsndfile pkg-config
(assuming you have HomeBrew installed.)
See buildscripts/ci/windows/setup.bat for clues.
We provide 7-zip archives containing the MSVC and MinGW versions of various libraries.
Install 7-zip from the website or by using one of these commands:
choco install 7zip # requires sudo or Administrator prompt
scoop install 7zip
Download one of these files as appropriate for your machine:
Use 7-zip to extract the file into MuseScore's source code folder on your machine. You should end up with a new folder called "dependencies" inside the source code folder. Make sure the "dependencies" folder doesn't have another folder inside it called "dependencies"; it should only be one layer deep.
MuseScore\dependencies # Good!
MuseScore\dependencies\dependencies # Bad!
Follow these steps if you selected MSVC as the prebuilt component when you installed Qt.
MSVC's build tools are installed via a program called Visual Studio Installer, which surprise, surprise, is also used to install Microsoft's IDE, Visual Studio. However, you don't actually need Visual Studio in order to compile MuseScore. In fact, we recommend using Qt Creator instead.
To get the build tools without Visual Studio:
- Visit https://visualstudio.microsoft.com/downloads/
- Scroll down to All downloads.
- Expand Tools for Visual Studio.
- Locate Build Tools for Visual Studio 2022 and click the Download button next to it.
If you do want Visual Studio, you can use the link at the top of the downloads page to get the free Community edition, but bear in mind that Visual Studio is a very large program (15GB+) so only download it if you actually plan to use it.
When you run the installer (either for the first time, or later on to modify components) you will eventually get to the Workloads tab.
Make sure the Desktop development with C++ option is selected. None of the other workloads are required for MuseScore.
Switch to the Individual components tab and make sure the following components are selected:
-
Compilers, build tools, and runtimes
- MSVC v[version] - VS [year] - C++ x64/86 build tools (latest year and version, see note below)
-
SDKs, libraries, and frameworks
- Windows 10 or 11 SDK (latest version)
Note: You must pick a VS [year] that is the same as or newer than the MSVC [year] of the prebuilt component that you installed with Qt. See MSVC ABI-compatibility.
Click Next (or Modify) to complete the installation.
Testing
- Manual testing
- Automatic testing
Translation
Compilation
- Set up developer environment
- Install Qt and Qt Creator
- Get MuseScore's source code
- Install dependencies
- Compile on the command line
- Compile in Qt Creator
Beyond compiling
Misc. development
Architecture general
- Architecture overview
- AppShell
- Modularity
- Interact workflow
- Channels and Notifications
- Settings and Configuration
- Error handling
- Launcher and Interactive
- Keyboard Navigation
Audio
Engraving
- Style settings
- Working with style files
- Style parameter changes for 4.0
- Style parameter changes for 4.1
- Style parameter changes for 4.2
- Style parameter changes for 4.3
- Style parameter changes for 4.4
Extensions
- Extensions overview
- Manifest
- Forms
- Macros
- Api
- Legacy plugin API
Google Summer of Code
References