I'm making an application that uses libimobiledevice and is cross-platform(Mac, Windows, and Linux). I don't have access to all the platforms so I can't compile it myself, and it's a pain to do so.
Are there pre-compiled versions of libimobiledevice for each platform that I can distribute with my application so the user doesn't have to install it manually?
It's relatively easy to provide a binary distribution of libimobiledevice for Windows and macOS.
For Windows and macOS, you can download pre-compiled versions of libimobiledevice at https://github.com/libimobiledevice-win32/imobiledevice-net (see the releases page). Admittedly, the repository name is a bit off. It does provide Windows and macOS binaries for libimobiledevice, and you don't have to use .NET if you just want to use the binaries.
The binaries are published via the Azure Pipelines build system, so you would fetch them at https://dev.azure.com/libimobiledevice-win32/imobiledevice-net/_build, or newer builds as they become available.
On Linux, it's a different story, because the various Linux distributions come with different versions of some of the dependencies of libimobiledevice (such as OpenSSL). You'll need a different binary package for most distributions of Linux.
There's a PPA you can use, https://launchpad.net/~quamotion/+archive/ubuntu/ppa, which provides compiled versions of libimobiledevice for Ubuntu 14.04, 16.04 and 18.04. Most Linux distributions also include a libimobiledevice package, but that may be outdated - be aware.