Problème en interfacant C et Fortran
Bonjour à tous,
je voudrais appeler une fonction Fortran depuis un fichier c. Je me suis donc renseigné sur la question.
J'ai vu que la principale vigilance à avoir est le fait que le compilo Fortran suffixe le nom des fonctions avec un tiret bas. Donc lors de l'appel en C, il faut appeler en fait le nom de la fonction fortran concaténé au tiret bas.
Donc voici l'appel que je fais en C :
Code:
1 2 3 4 5 6 7 8
|
extern void fsim_(int *i, float *r);
void main()
{
int i=100;
float r;
fsim_(&i, &r);
} |
et la fonction Fortran toute bête sur laquelle je fais le test :
Code:
1 2 3 4 5 6 7
|
subroutine FSim(i,r)
integer i
real r
r = i
return
end |
Si je compile les 2 fichiers indépendamment, pas d'erreurs, pas d'avertissements, tout à l'air de bien se passer.
Mais c'est au moment d'effectuer l'éxécution :
Citation:
error LNK2001: unresolved external symbol _fsim_
Debug/main.exe : fatal error LNK1120: 1 unresolved externals
Ce qui m'a tout l'air d'être une erreur de linkage. Pourtant j'ai bien inclus le fichier fortran au projet (je suis sous VC6.0).
Toute suggestion sera la bienvenue !
Merci,
karl3i.