Bonjour à Tous,
J’ai un problème d’édition de lien d’une application mêlant les fichiers c et fortran, les fichiers c appelant des fonctions définies dans les fichiers fortran.
Celle-ci a déjà été compilée avec le compilateur gcc, et les instructions suivantes :
Pour les fichiers c :
gcc –g –D_POSIX_SOURCE –D_POSIX_C_SOURCE
Pour les fichiers fortran :
gcc –x f77 –g –fno-second-underscore
Elle doit maintenant impérativement être compilée avec les compilateurs cc pour les fichiers c et f77 ou f90 pour les fichiers fortran
J’ai tenté l’extension –ext-names=plain sans résultat
Cette application comporte :
dans les fichiers include, un fichier bbt.h dans lequel il est écrit qu’il s’agit d’un header d’interface C/Fortran. Il comporte des déclarations du type :
#define xdjc(jc) xdjc_(&j,c,8L) ; c[8]=’0’
dans les fichiers source, un fichier libbt.f. Il comporte des instructions du type :
subroutine XDJC(DJ,DC) …
dans les fichiers source, un fichier c qui fait des appels du type :
xdjc(d1, d2)
Les fichiers sont compilés mais l’édition de lien ne se fait pas et j’obtiens le message d’erreur suivant :
xdjc_ symbole non défini
Or je sais qu’ils sont définis puisque cette application compile avec gcc.
Quelqu’un saurait-il ce que je dois modifier ?
Merci beaucoup
EM
Partager