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.