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

C++Builder Discussion :

Lib Fortran et C++ Builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut Lib Fortran et C++ Builder
    Bonjour,

    J'essaye de lier une bibliothèque compilée en Fortran dans mon appli C++ builder.

    Donc je me suis fait un mini projet de test mais ca ne marche pas.

    Ma lib fortran contient actuellement une seule fonction (func), à partir de ça, je fait un fichier lib (libfunc.lib).

    Je transforme mon fichier lib avec coff2omf.exe --> func.lib
    J'ajoute ce fichier lib au projet C++ builder, et pour utiliser ma fonction je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    extern "C" double FUNC(double &val);
    void test(){
       double val;
       resu = FUNC(val);
    }
    Et là, le lieur me dit : "Externe _FUNC non résolu..."

    Dernière précision, j'ai réussi à faire correctement la manip avec DevC++ (MinGw).

    Merci pour votre aide.

  2. #2
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut
    En poursuivant mes recherches, il semble que le fichier lib crée avec coff2omf soit vide, en tout cas quand je compare avec un fichier lib généré par C++ Builder...

  3. #3
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut
    Bon, le sujet n'a pas l'air d'inspirer grand monde.

    Synthèse de ce que j'ai compris et trouvé sur les différents sites dont celui de Borland :
    - Les fichiers .LIB sont propriétaires du compilateur qui les génère, il ne faut donc pas espérer les utiliser avec un autre compilateur.
    - coff2omf permet de convertir les fichiers .LIB qui sont fournis avec une dll associée. A priori seuls les fichiers qui exportent des class ont besoin d'être convertis.
    Pour les fichiers qui contiennent du code (donc les bibliothèques statiques .lib), le problème est plus compliqué et coff2omf ne fonctionne pas ou alors avec de la chance.

    Remarque :
    Borland utilise le format standard Intel (OMF), qui était utilisé avant par MS, mais MS a changé pour leur propre format COFF, qui n'est pas celui utilisé par d'autre compilateur...

    Quelques liens :
    http://support.borland.com/thread.js...D=11931&#11931
    http://support.borland.com/thread.js...eID=5244&#5244

    Bon j'espère ne pas avoir dit de conneries et que cela permettra à d'autre de passer un peu moins de temps que moi à la recherche du mouton à cinq pattes

Discussions similaires

  1. C++ builder: erreur compilation: LIB C032X.obj
    Par membreComplexe12 dans le forum C++Builder
    Réponses: 10
    Dernier message: 21/05/2011, 16h43
  2. Lib en visual C++ 6 --> borland C++ builder 6
    Par fred7163 dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 04/03/2009, 14h55
  3. Problème Borland builder + boost lib (random.hpp)
    Par visodyn dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/02/2008, 17h29
  4. Problème Borland builder + boost lib (random.hpp)
    Par visodyn dans le forum Boost
    Réponses: 2
    Dernier message: 04/02/2008, 17h21
  5. Librairie snmp_pp.lib builder
    Par kalou26 dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/02/2007, 08h32

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