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