Bonjour,
J'ai récupéré un code fortran, que je dois interfacer avec mon propre programme C++. Après un certain nombre de recherche sur Internet, j'ai finalement compris comment cela doit se faire. Cependant, je n'arrive à rien car il semblerait qu'aucune fonction "write" ne compile!![]()
Je m'explique. Je compile mes .cpp en .o avec g++ .Pas de problème.
Je compile mes fortranX.f en .o avec f77. Pas de problème.
Je lie tout ça avec g++, et j'obtiens le message d'erreur suivant:
Et quand je mets les "write" en commentaires, cela compile parfaitement. Mais cela ne sert à rien puisque j'ai besoin des writes (ce ne sont pas que des sorties écrans). Ils m'ont l'air syntaxiquement correct pourtant (ce qui ne veux pas dire grand chose, j'ai lu ma première ligne de fortran avant-hier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 fortranX.o: undefined reference to '__s_wsFe_pv' fortranX.o: undefined reference to '__do_f_out_pv' fortranX.o: undefined reference to '__e_wsfe_pv') Ils sont presque tous de la forme:
Comme les personnes qui m'ont donné le code assure qu'il fonctionne, j'en ai déduits qu'il me manque une librairie ou une option de compilation. Eux utilisent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(x.gt.0) write(nout,9821) 9821 format(/48h exit qpdf2. inform=0 after sensitivity analysis)Moi, je n'ai que gcc/g++ et f77/f90 à ma disposition car isort est payant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part isort -O -c -w -openmp -openmp_report2 -fpp2 -tpp7 -pc64 -i4 -prec_div
Est-ce que quelqu'un aurait déjà vu cette erreur? Au bureau, tout le monde sêche sur le problème depuis déjà deux jours, et je commence à trouver le temps long
Merci d'avance
Drude
Partager