8
votes

Compiler avec GCC (Cygwin sous Windows)

J'ai Cygwin sur Windows à travers lequel je gère GCC. Mais après avoir créé des fichiers .exe, si je les exécute sur d'autres ordinateurs qui n'ont pas de cygwin, il est indiqué que cygwin1.dll introuvable. Existe-t-il un moyen de les compiler afin qu'ils courent sur n'importe quel système?


0 commentaires

5 Réponses :


4
votes

Vous pouvez essayer de compiler avec l'option de ligne de commande -mno-cygwin .


0 commentaires

12
votes

Vous devez compiler pour MINGW (MINIMAL GNU WIN32). Vous faites cela en installant Mingw au lieu de (ou en plus de) cygwin, ou en passant le --mno-cygwin Option du compilateur au Cygwin GCC.


2 commentaires

Mais j'utilise la fonction de fourche dans mon programme. Si j'utilise -mno-cygwin, il dit que la fourche non définie.


Ensuite, vous devrez fournir Cygwin1.dll à vos utilisateurs. Windows elle-même ne fournit pas d'appel système Fork (). Il serait préférable de réécrire votre code pour ne plus utiliser la fourchette.



11
votes

Dans votre cas, essayez de copier Cygwin1.dll également (mais cela pourrait également dépendre des autres dlls) (bien sûr, vous devez vous conformer à Cygwin's licence en ce qui concerne la distribution de cygwin1.dll)
En Cygwin, vous pouvez toujours vérifier les modules nécessaires à l'aide de: xxx

ou xxx

ou pour Windows en général, utilisez quelque chose comme cet outil : walker de dépendance


1 commentaires

CygCheck dit: "Erreur: Impossible de trouver A.exe" Si j'écris "Cygcheck A.exe"



1
votes

Voir le Cygwin FAQ .


0 commentaires

0
votes

de http://cygwin.com/faq/faq .html # FAQ.Programmer.Win32-No-Cygwin

Comment compiler une exécutable Win32 qui n'utilise pas Cygwin?

Les compilateurs fournis par les packages MINGW-GCC, MINGW64-I686-GCC et MINGW64-X86_64-GCC relient contre des dlls Microsoft standard au lieu de Cygwin. Ceci est souhaitable pour les programmes de Windows natifs qui n'ont pas besoin d'une couche d'émulation UNIX.

Ceci ne doit pas être confondu avec 'Mingw' (GNU minimaliste pour Windows), qui est un effort totalement séparé.


0 commentaires