2009-04-06 12 views
1

Je souhaite transférer une application écrite sous Linux vers Windows. Actuellement, j'utilise Cygwin mais je suis curieux de savoir s'il existe d'autres options qui ne me forcent pas à publier ma source puisque je ne suis pas en mesure de le faire en ce moment. Existe-t-il d'autres options sans avoir à le réécrire complètement ou à acheter une licence?Suggestions pour le portage de l'application Linux sur les fenêtres

+0

Pourquoi pensez-vous à l'aide de forces Cygwin vous de libérer votre code? –

+0

Le moteur d'exécution Cygwin (cygwin1.dll) est sous licence GPL. Même si vous liez dynamiquement à une bibliothèque GPL, la licence s'applique toujours. – Tmdean

+0

Comme je l'ai compris la GPL, vous pouvez lier dynamiquement à une DLL très bien, mais quand vous liez statiquement, vous créez un travail dérivé et c'est lorsque vous avez besoin de libérer la source. En ce qui concerne la question, j'ai toujours préféré MinGW à Cygwin. –

Répondre

5

MinGW n'a pas autant de restrictions de licence que Cygwin, mais il pourrait nécessiter plus d'efforts pour que votre code s'exécute en dessous.

1

Je ne suis en aucun cas un expert. Dire que, si vous ne voulez pas publier votre application, je crois que vous pouvez l'utiliser avec des trucs GPL en interne. Ce n'est que lorsque vous avez commencé à distribuer vos binaires que vous êtes lié par la GPL pour libérer votre source avec le binaire, ou à la demande de l'utilisateur. E.g. une entreprise pourrait modifier un code source GPL'd, et l'utiliser en interne tant qu'ils ne distribuent pas le code ou l'application en dehors de la société.

Cela dépend donc de ce que vous envisagez de faire avec votre application. Vous pourrez peut-être utiliser cygwin pour le moment, mais ensuite remplacer progressivement des parties de l'application par du code Windows natif jusqu'à ce que vous l'ayez complètement désynchronisé. Je sais que ce n'est probablement pas ce que vous cherchez, mais je pensais que je le lancerais là-bas. Ils devraient avoir un couple de droit/licences classes poussés en degrés CS ces jours-ci.

2

S'il vous plaît nous donner plus d'informations sur votre demande. Utilitaire de ligne de commande simple? Utilise les bibliothèques KDE? Utilise les extensions du noyau Linux? etc. etc. Pour usage interne seulement? Pour une utilisation sur les ordinateurs de bureau d'entreprise? À utiliser par les utilisateurs finaux? Tout cela va changer nos suggestions.

Je suggère également d'utiliser MinGW.

Le processus de base de portage:

  1. Installer MinGW et MSYS
  2. Lancez votre Makefile.
  3. Vous obtiendrez probablement une erreur, corrigez-la (en modifiant le code ou en le commentant)
  4. Recompilez via Makefile.
  5. Répétez 2-4 jusqu'à ce que vous compiliez sans erreurs.
  6. Ensuite, testez votre application et traquez tous les bogues que vous auriez pu introduire.
Questions connexes