I’m trying to link in some legacy Fortran code with a Visual Studio C++ project. I tried using the Windows build of gfortran to build my static library but Visual Studio complains about unresolved external symbols. I guessing this is because mixing mingw and visual studio compilers is a horrible, horrible idea.
I’ve googled a bit and I see my options are Intel’s and Lahey’s compilers but both carry a hefty price tag.
Does anyone know of other options, or a different approach I can take?
EDIT IN RESPONSE TO COMMENTS
The error I’m getting is:
Error 7 error LNK2019: unresolved
external symbol ___chkstk referenced
in function fmm
Searching around led me to this, which just seems like a bad idea.
You could go the old-school route and use
f2cto translate your legacy Fortran to standard K&R C which you should be able to build with the MSFT toolchain.I have not used
f2cin many moons and recall it being a tad picky and a pain to work with. Asg77and latergfortanbecame so much better, there was less and less need to use it.That said, for your legacy needs it sounds like a good fit. The Wikipedia entry on f2c also contains a link to the f2c sources at Netlib.
Edit: This may not free you from the run-time requirements though — your C++ app may need to be linked to the f2c runtime.