Eu estava terminando um dos meus primeiros projetos em C ++, que é (de acordo com a estrutura) supostamente multiplataforma. Desenvolvi o projeto totalmente no Windows e no Visual Studio, pensando que, como as bibliotecas são todas multiplataforma, fazer a compilação do OSX "mais tarde" seria trivial. Isso acabou não sendo o caso, mas o "código do Windows" não funciona corretamente e teve alguns erros de compilação a serem corrigidos.
Quais técnicas existem para garantir antecipadamente que o código seja compatível com todas as plataformas? Desenvolvendo todas as plataformas simultaneamente, testando o código em todas as plataformas ao mesmo tempo, quando novos recursos são adicionados, em vez de desenvolver as diferentes versões da plataforma uma após a outra? (*)
Procurando aconselhar especificamente que não depende das ferramentas, mas "processos de desenvolvimento" que ajudam na compatibilidade entre plataformas, independentemente de quais ferramentas são usadas. Como o (*) acima.
Especificamente, estou desenvolvendo um plug-in VST com WDL-OL ( https://github.com/olilarkin/wdl-ol ) e algumas bibliotecas DSP de plataforma cruzada. Os projetos WDL-OL têm os projetos VS e Xcode configurados, mas acho que os problemas vêm das bibliotecas e depois das diferenças nos compiladores.