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 :

[Visual Fortran] Création Dll


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 15
    Points
    15
    Par défaut [Visual Fortran] Création Dll
    Bonjour,

    Mon client me demande de créer une dll à partir des différents modules que j'ai créés. J'ai essayé en m'inspirant de la doc de Visual Fortran mais je n'arrive à rien.

    Voilà ce que j'ai fait :

    a) J'ai crée un nouveau projet "Fortran Dynamic Link Library". J'y ai mis le .f90 contenant un de mes modules (qui est indépendant de tous les autres, je voulais faire simple).

    b) J'ai voulu définir les variables / procédures à exporter avec "!DEC$ ATTRIBUTES DLLEXPORT::maVar ou maProc". Pour les subroutines pas de probléme mais pour les types, à la compilation, il m'a renvoyé un message d'erreur suivant : "Conflicting attributes or multiple declaration of name."
    J'avais essayé de coder ça de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Module monModule
    !DEC$ ATTRIBUTES DLLEXPORT::monType
    Type monType
    EndType monType
    End Module monModule
    Du coup, j'ai essayé (toujours à l'intérieur du module) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Type monType
    !DEC$ ATTRIBUTES DLLEXPORT::monType
    End Type monType
    Là, le message d'erreur est le suivant : "This statement is not permitted as a statement within a derived-type-def".
    J'ai finalement réussi à compiler le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Module monModule
    !DEC$ ATTRIBUTES DLLEXPORT::monType%maVar
    Type monType
      Integer :: maVar
    EndType monType
    End Module monModule
    Cette solution ne me convient pas vraiment parce que j'ai défini 14 types avec chacun une dizaine de variables. Y a-t-il un autre moyen de précéder ??

    c) J'ai ensuite cliqué sur "rebuilt all" pour construire ma dll. D'après la doc (enfin ce que j'en ai compris), les liens se font tout seuls donc je n'ai pas cherché plus loin.

    d) J'ai créé un nouveau projet normal. J'ai copié dans le répertoire de mon nouveau projet le .dll et j'ai ajouté aux fichiers du projet le .lib. J'ai alors commencé mon programme principal de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    program monProgram
    USE monModule
    end program monProgram
    A la compilation, j'ai le message suivant : "Error in opening the Library module file."

    J'ai relu la doc mais je ne comprends pas où ça pêche... Quelqu'un a-t-il déjà rencontré le problème ?
    Je veux bien aussi tenter de créer la dll en lignes de commandes mais là, j'aurais besoin que quelqu'un de très patient qui me détaille la procédure pas à pas...

    Merci d'avance,

    Mathlus.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Vraiment personne ne sait ???
    J'ai continué mes bidouilles mais sans plus de réussite...

    Même une librairie statique pourrait me suffire mais je ne m'en sors pas non plus...

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Salut,

    Je ne peux pas t'aider directement. La seule suggestion que je peux te faire, c'est d'aller voir ailleurs ! Plus sérieusement, fais une recherche (ou soumet une question) à l'un des forums suivants :


  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup pour ta réponse !! Je poste de ce pas mon message sur les forums que tu me conseilles !!!!

    @ +,

    Mathlus.

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

Discussions similaires

  1. Création de .dll via un .sln sans Intel Visual Fortran
    Par Olivier.D dans le forum Fortran
    Réponses: 3
    Dernier message: 10/06/2010, 13h23
  2. Création DLL Visual Studio 2008 : Chargement impossible
    Par Bleys dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/08/2008, 12h03
  3. Création DLL pour utilisation sur VBA
    Par Fbartolo dans le forum C++Builder
    Réponses: 1
    Dernier message: 21/11/2005, 21h44
  4. Création dll
    Par Vodkha dans le forum Langage
    Réponses: 6
    Dernier message: 14/10/2005, 10h15
  5. [Visual Fortran] Erreur de compilation
    Par Julito dans le forum Fortran
    Réponses: 1
    Dernier message: 04/03/2005, 22h24

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