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 : S�lectionner tout - Visualiser dans une fen�tre � part
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 : S�lectionner tout - Visualiser dans une fen�tre � part
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 :
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.