This is a short summary of development environment requirements for building apprenticevideo player, aeyaeremux, yaetv, etc... for Mac/Windows/Linux.
Download ApprenticeVideo Mac/Windows/Linux binaries: https://sourceforge.net/projects/apprenticevideo/.
Download AeyaeRemux Mac/Windows/Linux binaries: https://sourceforge.net/projects/aeyae-remux/.
Download YaeTV Mac/Windows/Linux binaries: https://sourceforge.net/projects/yaetv/.
git clone https://github.com/pkoshevoy/aeyae.git
cd aeyae
git submodule update --init --recursive
git clone https://github.com/pkoshevoy/libhdhomerun.git
cd libhdhomerun
git checkout add-cmake
mkdir -p ../libhdhomerun-build
cd ../libhdhomerun-build
cmake-gui ../libhdhomerun # Configure (adjust paths as desired), Generate
nice make -j8 && make install
mkdir -p ../aeyae-build
cd ../aeyae-build
cmake-gui ../aeyae # Configure (adjust paths as desired), Generate
nice make -j8 && make install
OpenGL is used for frame rendering, so make sure you have OpenGL drivers for your graphics card.
CMake is used to configure the build (to generate projects, or makefiles).
https://www.qt.io/download-qt-installer-oss
Qt is the cross platform C++ UI toolkit. Use Qt 4.7+ for OS X 10.4 (ppc), 10.5 (ppc), 10.6 (intel), and 32-bit windows builds. Use Qt 5.6+ or newer for later versions of macOS and 64-bit windows builds.
https://www.boost.org/releases/latest/
Boost is used for its shared pointer and threading libraries.
GLEW is an OpenGL extension wrangler library.
https://files.portaudio.com/download.html
Portaudio is used for audio playback on Windows and Linux.
https://ffmpeg.org/download.html
FFmpeg is used for video/audio demuxing and decoding.
https://github.com/libass/libass/releases
libass is used for high quality subtitle rendering.
https://www.freedesktop.org/wiki/Software/fontconfig/
FontConfig is required by libass for accessing system fonts.
http://www.dependencywalker.com/
depends.exe is used for automatic external dependency detection by wixWrapper (instead of wix harvester tool). When building x86 version of Apprentice Video you'll need the 32-bit version of depends.exe; for x64 build you'll need the 64-bit version...
WiX is used to build the installer package. I've only used/tested WiX 3.5 and do not know whether later versions work as well.
You can try and cross-compile ffmpeg yourself from source on linux using Zeranoe build scripts: https://github.com/Zeranoe/mingw-w64-build. However, you may find it much easier to use the ffmpeg nightly builds instead: https://github.com/BtbN/FFmpeg-Builds/releases.
Windows 32-bit intel binaries are produced with Visual Studio 2015. Windows 64-bit intel binaries are produced with Visual Studio Community Edition 2019, or 2022. Compilation with MinGW/MSYS2 has not been tested, and probably doesn't work.
It is possible to compile FontConfig for Windows using MinGW tool-chain, but recently I simply use the pre-compiled ming64 packages provided by msys2 or cygwin.
You can build prerequisite libraries from source yourself, but https://www.macports.org/ can easily do it for you -- it's what I use.
The OS X 10.4, 10.5, 10.6 builds are produced with Qt 4.8 and master branch of ffmpeg. The macOS 10.13+ builds are produced with Qt 5 provided by macports, and master branch of ffmpeg.
Use the package management mechanism provided by your Linux distribution (apt, yast, yum, etc...) to install required tools and development libraries (git, cmake, Qt 4/5/6, boost, glew, portaudio, yasm/nasm). Use of the latest FFmpeg pulled from git is recommended. I normally build and test on openSuSE, and occasioanlly on Kubuntu.
The provided .AppImage linux builds are produced on a Kubuntu 14.04 LTS VM with Qt 5.6.3 and ffmpeg master branch, and should work on pretty much any current linux distribution.
If you would like to enable MOD file playback (MOD, XM, S3M, IT, etc...), install libmodplug or libopenmpt and enable modplug/openmpt support when configuring ffmpeg.