bonjour,
Je cherche a appeler une librairie fortran avec du C++.
Voici mon programme test en C++ (sous code-blocks)
Voici mon code Fortran
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; }
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
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
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)undefined reference for '_adding_'
Je ne sais pas comment faire ! Pouvez-vous m'aider ?![]()
Partager