Bonjour,
Je réalise actuellement un projet (traitement des données) réalise donc mes codes de calcul en Fortran.
Je voudrais savoir comment faire (et si c'est possible, mais ça je pense que oui) pour par exemple lier mon code C++ Qt avec mon code Fortran.
En effet, j'ai déja lier des codes de ces deux languages, mais là, je crée ma fenetre avec Qt creator.
Je créer ma fonction fortran "addition"
Je la compile : gfortran -o addition.f90 pour obtenir un point .o.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 subroutine addition(a,b) implicit none integer, intent(in) :: a,b integer :: addition a = a+b end function addition
Dans mon code C++ j'ai :
Je met le .o fortran dans le même dossier que mon main.cpp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 extern "C" { void addition_(int*,int *); } int main(int argc, char *argv[]) { QApplication app(argc,argv); QWidget fenetre; int m,n,o; n=5; o=11; addition_(&n,&o); fenetre.setFixedSize(200, 100); QPushButton m_boutonDialogue("Ouvrir la boîte de dialogue", &fenetre); m_boutonDialogue.move(40, 50); QLCDNumber m_lcd(&fenetre); m_lcd.setSegmentStyle(QLCDNumber::Flat); m_lcd.move(50, 20); m_lcd.display(n); fenetre.show(); return app.exec(); }
Je lance qmake-project, qmake et make all et.... erreur au make all :
undifined refence to : addition_
Habituellement, pour un code sans interface graphique cela marche, mais là....
J'ai fait la même démarche avec un code en C, la même erreur est obtenue...
Pour plus de précision, j'interface les deux langages exactement comme indiqué sur ce site :
http://www.cae.tntech.edu/help/progr...ixed_languages
D'avance merci.
Partager