42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
### Dependencies
|
|
|
|
This program has five main dependencies
|
|
|
|
* Qt 5.6+ (https://www.qt.io/download)
|
|
* BASS (http://www.un4seen.com/bass.html)
|
|
* BASS Opus Plugin (http://www.un4seen.com/bass.html#addons)
|
|
* Discord Rich Presence (https://github.com/discordapp/discord-rpc/releases)
|
|
* Qt Apng Plugin (https://github.com/Skycoder42/QtApng/releases)
|
|
|
|
### How to build dynamically (the easy way)
|
|
|
|
What you want to do is first download the latest version of Qt from the first link. (get the prebuilt dynamic version)
|
|
If you're on Ubuntu, go to the scripts/ folder and run configure_ubuntu.sh. This should fetch all the required dependencies automatically.
|
|
If not, go to each one of the links above and find the right dynamic library for your platform:
|
|
* Windows: .dll
|
|
* Linux: .so
|
|
* Mac: .dylib
|
|
|
|
And put them in BOTH lib/ and the repository root (lib/ is required for linking and root is required for runtime)
|
|
|
|
Launch Qt creator, open the .pro file and try running it. Ask in the Discord if you're having issues: https://discord.gg/wWvQ3pw
|
|
|
|
### How to build statically (the hard way)
|
|
|
|
You're gonna have a bad time.
|
|
|
|
Building statically means you can distribute the final program without needing to pack alongside a lot of dynamic libraries.
|
|
This is a tricky process and is not recommended unless you know what you're doing.
|
|
|
|
The general idea is to first build the entirety of Qt statically. To do this, check the desired version under "Sources" in the Qt maintenance tool.
|
|
After this is done, follow these instructions: https://dimitris.apeiro.gr/2015/06/24/build-a-static-qt5-for-windows-by-compiling/
|
|
This guide is specifically for Windows, but Qt is cross-platform and you should be good with or without some minor adjustments to the guide.
|
|
After this, you need to configure the project to use the static version of qmake (for this, look into "Qt creator build configuration")
|
|
|
|
BASS and BASS Opus only comes as dynamic libraries and is not open-source. That means you can't link it statically in the program.
|
|
|
|
For Discord RPC, you can try downloading the source and configuring it to compile to a static library. You're gonna have to figure out how, though.
|
|
|
|
The same goes for Qt Apng Plugin. This guide does not go into detail how to configure each of these to build a static library.
|
|
|