J'ai un programme C sur lequel j'ai écrit sous Linux qui fonctionne très bien. Maintenant, je veux l'exécuter sous Windows. P>
Comment puis-je l'exécuter facilement sur Windows? P>
4 Réponses :
Le meilleur moyen de recompiler tout l'utilisation de MINGW COMPILER. P>
facile à recompiler le recompilation dans l'environnement Cygwin. P>
@Tanaji: Oui, il générera un fichier exécutable Windows.
Le moyen le plus simple consiste à installer le environnement Cygwin et le compiler sous cela. P>
élaborer un peu sur les réponses de CAF < / a> et Jarteda ... p>
Cygwin est une tentative d'émulation d'un environnement d'exécution complet de POSIX complet dans un processus Windows natif. Il est suffisamment complet qu'une quantité surprenante de code d'application UNIX compile et fonctionne simplement en utilisant le MINGW est un port de lachaise de la GCC qui génère des applications de Windows natives qui dépendent du bien connu (et Distribué avec Windows elle-même) MSVCRT.DLLL C Runtime Bibliothèque. Il ne permet aucune tentative d'émulation d'un système d'exploitation POSIX, mais des applications principalement basées sur les bibliothèques C standard C, construiront souvent essentiellement inchangées. P>
MSYS est un environnement de compilation qui fournit suffisamment d'utilitaires UNIX (y compris Bash) pour permettre souvent Une autre approche de compilation pour Windows consiste à utiliser le compilateur Cross Mingw sur Linux. Un certain nombre de principaux développeurs de MINGW fonctionnent de cette façon, testent leur produit sous le vin ou sous Windows dans une machine virtuelle ou un PC séparé. P>
Si le programme dispose d'une composante GUI, vous pouvez avoir des difficultés supplémentaires. Certaines frameworks GUI sont disponibles pour Linux et Windows. qt , wxwidgets et iUP tout le saut à l'esprit, mais il y en a d'autres là-bas. p>
edit: strong> J'ai amélioré le paragraphe ci-dessus sur HSSS pour souligner qu'il est destiné à être un environnement de compilation pour la construction de programmes qui exécutent des applications Windows natives et non un environnement complet de POSIX comme Cygwin. P>
note, également, qu'il y a toujours la possibilité de porter le projet à l'un des compilateurs les plus traditionnels pour le développement de Windows. Open Watcom, les compilateurs de Borland et Microsoft disposent de versions gratuites ou peu coûteuses, bien que suffisamment de licences qui rendent la communauté source d'ouverture entièrement heureuse. p>
Cette approche nécessite probablement plus d'efforts car les différences entre un environnement Linux et l'environnement Windows deviennent plus visibles lorsque vous passez également d'une boîte à outils à une autre. Ceci est particulièrement vrai pour les compilateurs Microsoft qui sont historiquement non plus conformes aux normes compatibles que GCC. P> familier ./ configure && make && créer l'installation code> idiome. Cette astuce a été faite en fournissant une DLL qui émule des appels système POSIX à l'aide de l'API Windows. Sur la base de cela, vous obtenez une boîte à outils de la GCC complète, Bash et toutes les utilitaires de ligne de commande habituelles que vous utilisez. Un inconvénient est que le programme compilé dépend de la DLL Cygwin, ce qui rend difficile la délivrance du résultat à un système qui n'a pas déjà de cygwin installé et dont l'utilisateur ne veut pas utiliser une coque UNIX. P>
./ Configurez CODE> Pour exécuter, et si le projet prend en charge les résultats, terminez la construction avec GCC de Mingw. Le résultat est une exécutable Windows natif qui ne dépend de rien de DLL que vous n'utilisez pas délibérément de côté à partir de MSVCrT.dll. Bien que l'environnement de HSYS lui-même était une fourchette d'une version précoce du projet Cygwin, elle est principalement destinée à être utilisée pour fournir un lieu de type UNIX pour compiler des applications de Windows natives: on serait généralement pas em> construire nouveau Applications basées sur son environnement d'exécution. P>
+1, mais vous devriez mentionner que MSYS n'est pas vraiment faite pour être étendue avec des applications utilisateur basées sur MSYS. Cygwin sert de mieux ce but waaaay.
@RubenVB, bon point. J'ai voulu que la distinction soit plus claire qu'elle lue aujourd'hui, j'ai donc essayé de le rendre plus clair maintenant.
Les réponses que vous avez jusqu'à présent, concentrez-vous sur l'installation du système d'exploitation GNU sur le noyau Windows; Mais vous pouvez également utiliser des outils gratuits de Microsoft. Cette solution est probablement la plus attrayante si vous souhaitez continuer à développer sur Linux et que vous effectuez uniquement un peu de travail pour le portage sur Windows: P>
Microsoft propose une version simplifiée de leur environnement de développement en tant que freeware: Visual Studio Express (< un href = "http://www.microsoft.com/express/downloads/" rel = "nofollow noreferrer"> Téléchargez ). Si votre programme file uniquement IO, cela compilera probablement non modifié, car Microsoft fournit également la bibliothèque standard C. p>
Pour GUI, je vous recommande également de tout coeur le CADRE QT . C'est très bien écrit et documenté; Il est maintenant sous licence sous le LGPL , afin que vous puissiez le lier aux applications propriétaires sans aucun coût. Cependant, il est écrit en C ++ afin de modifier la langue de programmation. Pour l'intégration de QT avec Visual Studio Express: je crois que cela fonctionne, mais vous devez l'essayer. Il y a environ cinq ans, j'ai testé l'intégration du studio visuel (propriétaire) QT et (Professionnel) pour mon employeur, et cela fonctionnait parfaitement. p>
Incluent-il tout code spécifique à Linux? Ou utilise-t-il seulement une bibliothèque standard et une API POSIX?