Dear all,
I have the same problem as Etana (see previous post).
I’ll be very pleased if someone could help us.
Thank you in advance.
----- EDIT: Question Solved -----
The problem is that Intel Parallel Studio XE2017 no longer accepts the attribute ALIAS, so it is necessary to modify OrcaFlexInterface.F90 this way:
ABSTRACT INTERFACE ! These are interfaces to the DLL
#ifdef __GFORTRAN__
SUBROUTINE OrcaFlexUserPtfmLdInitialise(DT,TMax) BIND(C)
#else
SUBROUTINE OrcaFlexUserPtfmLdInitialise(DT,TMax) !!!BIND(C)
#endif
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_FLOAT
! !DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'OrcaFlexUserPtfmLdInitialise'::OrcaFlexUserPtfmLdInitialise
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE ::OrcaFlexUserPtfmLdInitialise ! <<<<<<<<<<<<<<<<<<<<<<< MOD
!GCC$ ATTRIBUTES STDCALL :: OrcaFlexUserPtfmLdInitialise
REAL(C_FLOAT), INTENT(IN ) :: DT
REAL(C_FLOAT), INTENT(IN ) :: TMax
END SUBROUTINE OrcaFlexUserPtfmLdInitialise
#ifdef __GFORTRAN__
SUBROUTINE OrcaFlexUserPtfmLd( X, XD, ZTime, DirRoot, PtfmAM, PtfmFt) BIND(C)
#else
SUBROUTINE OrcaFlexUserPtfmLd( X, XD, ZTime, DirRoot, PtfmAM, PtfmFt) !!!BIND(C)
#endif
USE, INTRINSIC :: ISO_C_Binding, ONLY: C_FLOAT, C_CHAR
! !DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'OrcaFlexUserPtfmLd'::OrcaFlexUserPtfmLd
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE ::OrcaFlexUserPtfmLd ! <<<<<<<<<<<<<<<<<<<<<<< MOD
!GCC$ ATTRIBUTES STDCALL :: OrcaFlexUserPtfmLd
CHARACTER(KIND=C_CHAR), INTENT(IN ) :: DirRoot
REAL(C_FLOAT), INTENT(IN ) :: X(6) !< Translational and rotational displacement (m, radians) relative to inertial frame.
REAL(C_FLOAT), INTENT(IN ) :: XD(6) !< Translational and rotational velocity (m/s, radians/s) relative to inertial frame.
REAL(C_FLOAT), INTENT(IN ) :: ZTime !< Current time in seconds
REAL(C_FLOAT), INTENT( OUT) :: PtfmAM(6,6) !< Added mass matrix (kg, kg-m, kg-m^2)
REAL(C_FLOAT), INTENT( OUT) :: PtfmFt(6) !< Platform forces -- [3 translation (N), 3 moments (N-m)] at reference point.
END SUBROUTINE OrcaFlexUserPtfmLd
#ifdef __GFORTRAN__
SUBROUTINE OrcaFlexUserPtfmLdFinalise() BIND(C)
#else
SUBROUTINE OrcaFlexUserPtfmLdFinalise() !!!BIND(C)
#endif
USE, INTRINSIC :: ISO_C_BINDING
! !DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS: 'OrcaFlexUserPtfmLdFinalise'::OrcaFlexUserPtfmLdFinalise
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE ::OrcaFlexUserPtfmLdFinalise ! <<<<<<<<<<<<<<<<<<<<<<< MOD
!GCC$ ATTRIBUTES STDCALL :: OrcaFlexUserPtfmLdFinalise
! There is no data to pass.
END SUBROUTINE OrcaFlexUserPtfmLdFinalise
END INTERFACE
Best Regards,