Use of the Fortran standard iso_c_binding facility requires functions be designated with extern "C" on the C++ side. If the Fortran functions were written without iso_c_binding (Fortran 2003), the declarations would require modification accordingly. This would assure working on a variety of systems, including 32- and 64-bit (but not mixing them). Normally, the run-time libraries provided with the Fortran compiler must be linked, and they must be compatible with the C++ system you have chosen. iso_c_binding would be a prerequisite to an automatic tool for generating C prototypes, which seems possible although I've never seen one. The legacy alternative to iso_c_binding requires extern "C" with the function names mangled to match the scheme used by the Fortran compiler.