Ich habe einige Online-Suche gemacht, aber ich kann nicht herausfinden, wie man einen einfachen C++ - und Fortran-Code von Linux kompilieren. Ich muss komplex werden, aber ich muss nur wissen, wie man mit einem einfachen Beispiel beginnt.Mixed C++ und Fortran Linking Problem
Meine C++ Code ist dies:
#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;
}
Mein Fortran-Code, ist dies:
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
ich ifort
bin mit meinem Fortran-Code und g ++ für C++ Code zu kompilieren. Ich habe diesen Terminal-Befehl versucht: „Linker Eingabedatei ungenutzt, da keine Bindung getan“
$ ifort -c Program.f90
$ g++ -o Main.cpp Program.o
Aber die Fehler, die ich bekommen habe, sagen Ich bin nicht sicher, wie man die zwei zusammen verbindet. Wenn mir jemand helfen könnte würde ich es sehr schätzen!
PS - Ich habe versucht, -lg2c
am Ende meiner Kompilierungslinie hinzuzufügen, und es wird nicht erkannt.
Sie scheint 'g ++' falsch, sollte 'g ++ -o Program.o Main.cpp –
@ZacWrangler Es sollte nicht, weil die C++ Program.o überschreiben zuvor erstellten Fortran Program.o. Stattdessen haben Sie unterschiedliche Objektdateinamen. – milancurcic