Ho eseguito alcune ricerche online ma non riesco a capire come compilare un semplice codice C++ e Fortran da Linux. Ho bisogno di diventare complesso con esso, ma ho solo bisogno di sapere come iniziare con un semplice esempio.Edizione mista di collegamento C++ e Fortran
codicemio C++ è questo:
#include <iostream>
using namespace std;
extern int Add(int *, int *);
extern int Multiply(int *, int *);
int main()
{
int a,b,c;
cout << "Enter 2 values: ";
cin >> a >> b;
c = Add(&a,&b);
cout << a << " + " << b << " = " << c << endl;
c = Multiply(&a,&b);
cout << a << " * " << b << " = " << c << endl;
return 0;
}
mio Fortran Codice è questo:
integer function Add(a,b)
integer a,b
Add = a+b
return
end
integer function Multiply(a,b)
integer a,b
Multiply = a*b
return
end
Sto usando ifort
per compilare il mio codice Fortran e g ++ per il codice C++. Ho provato questo comando da terminale:
$ ifort -c Program.f90
$ g++ -o Main.cpp Program.o
Ma l'errore che sto ottenendo dice "file di input del linker inutilizzato perché collegamento non fatta". Non sono sicuro di come collegare i due insieme. Se qualcuno potesse aiutarmi, lo apprezzerei molto!
PS - Ho provato ad aggiungere -lg2c
alla fine della mia linea di compilazione e non è riconosciuto.
si 'g ++' sembra sbagliato, dovrebbe essere 'g ++ -o Program.o Main.cpp –
@ZacWrangler Non dovrebbe, perché il programma C++. Sovrascriverebbe Fortran Program.o precedentemente costruito. Piuttosto, avere nomi di file oggetto diversi. – milancurcic