Compiler source linux sur windows

Bonjour,

comment compiler une source en c sur windows qui est censé etre compilée sur linux, j'ai essayé avec cygwin mais il me sors des tonnes d'erreurs

merci

7 réponses

  1. merci, je vais essayé

    c'est possible qu'une source linux soit incompilable sous windows ou ya tjrs un moyen?
    1. j'essaye avec dev c++ en ce moment j'ai telecharger quelque librairies manquantes mais il y a encore des erreurs...
      1. il faut que tu nous dise ce qu'il t'affiche comme erreur, il est possible que ça vienne de ton programme et non de cygwin ou de Dev-C++
    2. non vu que sous linux (slackware) la compilation fonctionne parfaitement...

      j'ai quand meme un peu avancé grace aux librairies mais la il me dit:

      fd_set undeclared (first use in this function)
      1. rajoute type fd_set; au debut de ta fonction.

        bien entendu "type" est le type de ta variable, c'est à toi de le définir .... normalement ça doit marcher
    3. la ligne c'est ca exactement:

      fd_set read_set;

      je vais essayer ce que tu m a dit mais j'ai des doutes car la compilation fonctionne sans aucune erreur sur linux.
      1. Donc le type c'est fd_set. Par contre si ce type est défini (ce qui me semble un type d'arrays) dans une bibliothèque spécifique, il faut que tu rajoutes #include"nom_de_la bibliothèque".

        Sans cette inclusion, normal que ta variable ne soit pas définie
      2. @oupsmanje comprends pas, jsuis noob en programmation, sur linux tout s'est fait tout seul, tu peux m'indiquer exactement ce que je doit faire :

        ans une bibliothèque spécifique, il faut que tu rajoutes #include"nom_de_la bibliothèque".
      3. @oupsmanlaisse tomber sinon c'est pas grave je pense que c'est un code pour linux et que pour le faire fonctionner sur windows faudrait modifier toute la source du debut a la fin. enfin je pense

        merci quand meme ;)
      4. @lucc'est simple : par exemple quand tu declares l'entier int n;, tu n'as pas besoin de définir ce qu'est le type int car en faisant #include"stdio.h", le type int est reconnu. Dans cet exemple le nom_de_la_librairie c'est "stdio.h"

        Pareil pour le type fd_set, à mon avis ce type est déjà défini dans une librairie mais je ne saurais te dire le nom de cette librairie. En supposant que tu connaisses dans quelle librairie est-ce qu'il est défini, il suffit de rajouter au debut de ton fichier #include"nom_de_la_librairie"
      5. @oupsmanya ca en librairies:

        #include <netdb.h>
        #include <arpa/inet.h>
        #include <openssl/ssl.h>
        #include <unistd.h>
        #define SIGINT 2
    4. en tout cas merci j'ai un peu avancé il me manquait la librairies openssl, mais la ca bloque sur cet ligne..
      1. J'avais le même problème il y a quelque temps, le plus simple c'est d'utiliser Dev-C++

        sur cygwin, il y a encore beaucoup de bibliothèque qu'il faut installer soi-même alors que dans Dev-C++, les bibliothèques principales sont déjà préinstallées.

        Donc télécharge, Dev-C++, ensuite tu le lances et le problème est réglé