Forum Programmation.autre gcc cross compil ada unix ->windows

Posté par  .
Étiquettes :
0
3
août
2005
bonjour,
je voudrais installer un compilateur ADA ou C (gcc) sur une plateforme unix-Solaris qui fait une compilation croisée, la machine hôte du compilateur étant sous unix-solaris et l'exécutable cible étant destiné à tourner sous windows 2000.

dans la doc d'installation de gcc, je ne trouve pas d'information précise.
savez-vous si c'est possible de faire ça, et connaissez-vous des sites d'aide pour faire ce genre de chose ?

je suis un peu à la rue en ce qui concerne le nom de "target" à utiliser, et les versions de "as", "ld", etc... (faut-il un assembleur spécialement construit ? ...)

merci
  • # Oui, c'est possible.

    Posté par  . Évalué à 3.

    C'est possible, à condition d'être vraiment très motivé. Je m'y suis collé ici :

    https://linuxfr.org/forums/19/3922.html(...)

    Mais c'est tellement lourd que je n'ai jamais eu le temps de finaliser l'installation et donc je n'ai pas encore de retour. En outre, lorsque tu auras fini de construire ton compilo, il te faudra encore un environnement Windows installé (toutes les lib, les headers qui vont bien) pour pouvoir compiler sans problème. Pas facile à trouver.
    • [^] # Re: Oui, c'est possible.

      Posté par  (site web personnel) . Évalué à 3.

      Compile mingw et toutes ses apis sous ton solaris, si tu veux un exemple pour faire ça à la main, regarde les packages mingw sous gentoo , ca marche très bien, je l'utilise pour le boulot :
      il faut :
      mingw-gcc
      mingw-runtime
      mingw-w32api
      mingw-binutils


      Pour plus d'infos : http://www.mingw.org/(...)
      au lieu d'appeler gcc tu utilise ton-prefix-win32-gcc (sur gentoo : i386-mingw32msvc-gcc) et ça marche très très bien ;)
      • [^] # Re: Oui, c'est possible.

        Posté par  . Évalué à 1.

        Merci pour ces infos.
        En suivant la piste que tu as indiquée (mingw) j'ai finalement réussi à construire un gcc (i386-mingw32msvc-gcc) sur mon unix Solaris.
        mais quand je l'exécute (sous Solaris), ça fait un core dump/seg fault.

        et je ne vois pas d'où ça vient.
        gdb indique que le seg fault se produit à cette ligne :
        #0 0x1cb54 in validate_all_switches () at /..../mingw/source/gcc-3.4.2-20040916-1/gcc/gcc.c:6637
        6637 p = validate_switches (p + 1);

        mais je ne sais pas comment corriger ça...

        avais-tu eu un problème similaire ?
        • [^] # Re: Oui, c'est possible.

          Posté par  (site web personnel) . Évalué à 1.

          Non, je n'ai jamais eu de problèmes similaire, ça a toujours marché "out of box"
        • [^] # Re: Oui, c'est possible.

          Posté par  . Évalué à 1.

          J'ai résolu mon core dump : il suffisait que je positionne correctement la variable d'environnement GCC_EXEC_PREFIX.
          Et maintenant mon cross compilateur C fonctionne.

          Je suis tombé sur cette solution par hasard.

          C'est étonnant que dans ma recherche d'aide sur internet je n'aie pas trouvé ça !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.