J'ai installé gcc
et gfortran
sous AIX, et ils fonctionnent correctement. Entre autres choses, je les utilise avec certaines bibliothèques auxquelles on accède par des fichiers d'en-tête (.h
en C). Les mêmes bibliothèques peuvent être utilisées avec des modules (.mod
Fortran), mais comme vous le savez leur utilisation est facultative: si je commente leCréer un fichier mod à partir de l'en-tête c
use mylib
implicit none
de mon code source Fortran, tout fonctionne bien. Le problème est, je ne veux pas commenter la implicit none
, donc je dois garder le use mylib
aussi, sinon je vais un tas de
Error: Symbol 'foo' at (1) has no IMPLICIT type
erreurs. Et, comme vous le savez, les fichiers .mod dépendent compilateur, donc je ne peux pas utiliser ceux que j'ai, sinon gfortran cracheront:
Fatal Error: File 'mylib.mod' opened at (1) is not a GFORTRAN module file
Théoriquement je pourrais recompiler toutes les bibliothèques avec gfortran, mais plus il est probable échouer pour diverses raisons (et si ce n'est pas le cas, ce sera encore une tâche décourageante).
Je me demande donc s'il existe un moyen de précompiler l'en-tête .h
dans un module .mod
, en fournissant uniquement les informations d'interface qui sont nécessaires. Malheureusement, je n'ai pas pu trouver d'informations à ce sujet.
Savez-vous si les bibliothèques sont écrites en C ou fortran? Vous pouvez peut-être résoudre ce problème en inspectant les fichiers d'en-tête C. Je suppose que les bibliothèques seraient écrites en C, parce que les bibliothèques fortran ont tendance à ne pas être compatibles entre les différents fournisseurs, et vous laissez entendre que votre code lie sans problème. – DaveP