Duplicaté possible: strong>
Comment traverser la compilation de Mac OS X à Linux x86? p> blockQuote>J'ai une application que j'ai écrite dans C ++ / SDL, à l'aide de la bibliothèque FMOD. L'application est portable et compile sans aucun changement de code sur Mac et sous Linux. Mais une gêne est que lorsque je veux expédier la version Linux, je dois exécuter ma boîte Linux, copier le code source là-bas (sur une clé USB, car je n'ai pas de réseau là-bas, c'est un ancien ordinateur portable) et la compilait, puis copier à nouveau sur USB à mon Mac et téléchargez-le. P>
Ma question est - Y a-t-il une meilleure façon de le faire? Idéalement, pourrais-je compiler l'application pour exécuter Linux directement à partir de Xcode, où je le compile pour Mac? P>
4 Réponses :
Un rapide Google pour la compilation croisée pour Linux sur OSX a révélé Cette page . p>
En fait, cela a été demandé avant dans Comment traverser la compilation de Mac OS X à Linux X86? . P>
Ok, mais comment puis-je l'utiliser dans xcode?
Vous ne le faites pas, vous compilez est comme vous le faites maintenant dans le virus VM
Le premier lien est mort
Vous pouvez lier statiquement le code entier (avec toutes les dépendances) dans un seul binaire et avoir une version pour Mac et une version pour Linux. P>
Jetez un coup d'œil à Comment traverser Compilez de Mac OS X à Linux X86? et les liens qui y sont ainsi (il suggère de compiler sous Linux en cours d'exécution dans une machine virtuelle, probablement la meilleure idée, car essayer de configurer la compilation croisée ne vaut généralement pas le travail et les ennuis). . p>
Le risque d'expédition Un Duff Binary est trop élevé pour avoir la peine d'être dérangé en essayant de la construire sur une boîte extraterrestre. P>
Vous aurez clairement besoin d'une boîte Linux frapper pour tester chaque fois que vous effectuez une nouvelle version. Par conséquent, ce ne sera pas tracieux de le construire sur cette boîte. L'utilisation d'un VM Linux est probablement une bonne idée car vous pouvez vous assurer que la machine virtuelle est exacte dans le même état (et l'état connu) avant chaque construction. P>
Je suppose que vous allez au moins de fumer-tester chaque libération. P>
Voir cette question Stackoverflow.com/Questtions/1775267/...
On dirait une question double double, pourquoi n'a-t-elle pas été fermée? La réponse indique d'utiliser une machine virtuelle, par exemple en utilisant VirtualBox. Semble que cela convient très bien à votre utilisation.
Cette question n'est pas une duplication car l'autre question ne fait aucune mention de Xcode. La réponse à cette question est que vous pouvez facilement croiser à partir de Xcode à l'aide de Cocotron. Il y a un bon guide ici: blog.tlensing.org/tag/cocotron