IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

compilation 32 et 64 bits


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    ingénieur
    Inscrit en
    Novembre 2011
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Novembre 2011
    Messages : 165
    Par défaut compilation 32 et 64 bits
    Bonjour à tous,

    J'ai un soucis de compilation que je ne parviens pas à régler...

    J'ai une librairie que je compile en 32 et 64 bits que je dois linker à une application (un executable en 32 et un autre en 64 bits).

    Voici mes flags de compilation.

    en 32 bits
    - pour la librairie: gfortran -m32 -O3
    - pour l'application: f90 -xtypemap=real:32,integer:32

    en 64 bits
    - pour la librairie: gfortran -fdefault-real8 -O3
    - pour l'application: f90 -xtypemap=real:64,integer:64

    Problème lorsque je compile l'application: pour le cas 64 bits ça compile, mais pour le cas 32 bits j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/ld: warning: i386 architecture of input file `***ma librairie 32 bits***' is incompatible with i386:x86-64 output
    Les versions des compilateurs:

    gcc version 4.3.5 pour gfortran
    sunstudio version 12 pour f90

    Si quelqu'un s'y connait en flags de compilation merci d'avance

    note: plutôt que de compiler avec l'option -m32 j'ai l'impression que -mx32 serait plus adapté, mais apparement cette option n'était pas encore implémentée dans la version 4.3.5 de gcc... du coup je suis coincé pour l'instant.

  2. #2
    Membre très actif
    Profil pro
    ingénieur
    Inscrit en
    Novembre 2011
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Novembre 2011
    Messages : 165
    Par défaut
    bon en fait je ne m'étais pas intéressé à l'option -m64, mais au final il semble que ce soit celle-ci qu'il faut utiliser.

    dans la doc de gcc on trouve pour -m64:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Generate code for a 32-bit or 64-bit environment. The 32-bit environment sets
    int, long and pointer to 32 bits and generates code that runs on any i386 system.
    The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and
    generates code for AMD’s x86-64 architecture.
    J'ai testé avec -m64 et ça fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compiler Qt en 32 bits avec mingw64
    Par uriotcea dans le forum Débuter
    Réponses: 4
    Dernier message: 23/11/2012, 16h50
  2. Compilation de programme 32 bits
    Par Monromero1 dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 03/12/2010, 12h40
  3. Double compilations 32 et 64 bit
    Par jerome.mace dans le forum C#
    Réponses: 6
    Dernier message: 30/07/2010, 16h43
  4. Compilation de librairies 32 bits sous Ubuntu 64 bits
    Par cgigot dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 12/02/2009, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo