Comstackr le programme C ++ sur Mac pour qu’il fonctionne sous Linux

Duplication possible:
Comment comstackr la compilation de Mac OS X vers Linux x86?

J’ai une application que j’ai écrite en C ++ / SDL, en utilisant la bibliothèque FMOD. L’application est portable et comstack sans aucun changement de code sur Mac et sous Linux. Mais ce qui est désagréable, c’est que lorsque je veux expédier une version Linux, je dois exécuter ma boîte Linux, copier le code source là-bas (sur un lecteur USB, car je n’ai pas de réseau, il s’agit d’un ancien ordinateur portable). à nouveau via USB à mon Mac et le télécharger.

Ma question est la suivante: y a-t-il une meilleure façon de le faire? Idéalement, pourrais-je comstackr l’application pour qu’elle s’exécute sous Linux directement à partir de Xcode, où je la comstack pour Mac?

Un rapide google de compilation croisée pour Linux sur OSX a révélé cette page .

En fait, cela a déjà été demandé dans la section Comment comstackr de Mac OS X vers Linux x86? .

Jetez un coup d’œil à Comment comstackr de Mac OS X à Linux x86? et les liens qui s’y trouvent (il suggère de comstackr sous Linux en cours d’exécution sur une VM, probablement la meilleure idée, car essayer de configurer la compilation croisée ne vaut généralement pas le coup et le dérangement).

Le risque d’expédier un fichier binary est trop élevé pour que cela vaille la peine d’essayer de le construire sur une boîte étrangère.

Vous aurez clairement besoin d’une boîte Linux pour tester chaque fois que vous faites une nouvelle version. Par conséquent, il ne sera pas compliqué de le construire sur cette boîte. L’utilisation d’une machine virtuelle Linux est probablement une bonne idée, car vous pouvez vous assurer que la machine virtuelle est dans le même état (et le même état) exact avant chaque version.

Je suppose que vous allez au moins essayer de tester chaque version.

Vous pouvez lier statiquement l’intégralité du code (avec toutes les dépendances) en un seul binary et avoir une version pour Mac et une version pour Linux.