Have simple mixed c++ main call to fortran subroutine working, but calling multiple subroutines from the same cmain.cpp is "different."
two separate function statements in c++ main to the fortran subroutines as
extern void _stdcall IADDTWO (long *i,long *j,long *k);
extern void _stdcall FSUB (double *c);
error LNK2001: unresolved external symbol "void __stdcall FSUB(double *)" (?FSUB@@YGXPAN@Z)
roughly the same thing occurs on reordering the statements:
error LNK2001: unresolved external symbol "void __stdcall IADDTWO(long *,long *,long *)" (?IADDTWO@@YGXPAJ00@Z)
running the cmain.cpp program with only a call to one or the other fortran routine works fine.
Alternatively, parsing the statement as
extern void _stdcall FSUB (double *c), IADDTWO (long *i,long *j,long *k);
alone has a successful link and "run." "run" is in quotes for the console application because the "illegal operation" message box activates. On closing the box, the program seems to terminate normally.
Guessing that directly aliasing the functions may work, but even if it does I'd like to understand what's going on with calls noted.