Ich versuche, einen Fortran-Code aufrufen c Unterprogramm zu kompilieren und verknüpfen:Aufruf C-Funktion/Unterprogramm in Fortran-Code
Fortran-Code:
program adder
integer a,b
a=1
b=2
call addnums(a,b)
stop
end program
C-Code:
void addnums(int* a, int* b)
{
int c = (*a) + (*b); /* convert pointers to values, then add them */
printf("sum of %i and %i is %i\n", (*a), (*b), c);
}
I verwendete die folgenden Befehle, um in Windows-Umgebung zu kompilieren und zu verknüpfen.
ifort -c adder.f
cl -c addnums.c
ifort -o add adder.obj addnums.obj
bekomme ich folgende Fehlermeldung:
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.
-out:add.exe
-subsystem:console
adder.obj
addnums.obj
adder.obj : error LNK2019: unresolved external symbol ADDNUMS referenced in function MAIN__
add.exe : fatal error LNK1120: 1 unresolved externals
Bitte helfen Sie mir, dieses Problem zu beheben? Vielen Dank.
Haben Sie versucht, den Funktionsnamen (dh Großbuchstaben) zu finden? –