Я заканчивал один из моих ранних проектов C ++, который (в соответствии с фреймворком) должен был быть кроссплатформенным. Я полностью разработал проект в Windows и Visual Studio, полагая, что, поскольку все библиотеки являются кроссплатформенными, выполнение сборки OSX в дальнейшем будет тривиальным. Оказалось, что это не так, скорее «код Windows» не работает должным образом, и в нем были исправлены некоторые ошибки компиляции.
Какие методы существуют, чтобы заранее гарантировать, что код совместим со всеми платформами? Разрабатываете все платформы одновременно, и, таким образом, одновременно тестируете код для каждой платформы, когда добавляются новые функции, вместо того, чтобы разрабатывать разные версии платформ один за другим? (*)
Обращаю особое внимание на то, что советую не зависеть от инструментов, а, скорее, от «процессов разработки», которые способствуют межплатформенной совместимости, независимо от того, какие инструменты используются. Как и тот (*) выше.
В частности, я разрабатываю плагин VST с WDL-OL ( https://github.com/olilarkin/wdl-ol ) и некоторыми кроссплатформенными библиотеками DSP. В проектах WDL-OL настроены проекты как VS, так и Xcode, но я думаю, что проблемы связаны с библиотеками, а затем с различиями в компиляторах.