У меня есть небольшой фрагмент кода, который работает как плагин для больших графических приложений. Платформа разработки Qt с кодом C ++. Мне удалось собрать .so, .dylib и .dll для linux, MacOS и Windows соответственно, но для этого мне нужно было иметь машину под управлением каждой операционной системы (в моем случае, для запуска linux [ubuntu] gcc изначально, и Windows MinGW и MacOS XCode gcc в виртуальных машинах).
Есть ли способ собрать все 3 платформы с одной? Некоторое время назад я ударился головой об эту проблему, и исследования на сегодняшний день показывают, что это нелегко (или практически) сделать. Код должен ссылаться только на один заголовок, который определяет плагин
API и построен из довольно простого Makefile (в настоящее время с небольшими вариациями для каждой платформы).