bonjour,

Je cherche a appeler une librairie fortran avec du C++.
Voici mon programme test en C++ (sous code-blocks)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
extern "C"  void adding_(double *x);
 
int main()
{
    double bar = 1.00;
    cout << bar << endl;
    adding_(&bar);
    cout << bar << endl;
    return 0;
}
Voici mon code Fortran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
      SUBROUTINE ADDING(FOO)        
      REAL(8) FOO      
      FOO = FOO * 2        
      return    
      END
Apres compilation du fichier fortran, je recupere le .o et je le place dans obj/Debug. Le message d'erreur est du compilateur C++ est

undefined reference for '_adding_'
Apparemment le C++ ajoute l'underscore en debut des noms pendant la compilation. Peut-on desactiver cet ajout automatique ? Ou alors peut-on demander au fortran d'ajouter l'underscore ? (si on ajoute le _ dans le nom de la fonction le compilateur fortran plante)

Je ne sais pas comment faire ! Pouvez-vous m'aider ?