Why aren't my fortran functions exported when using the BIND(C, NAME="name") attribute

Viewed 1906

I am used to using the following syntax

    subroutine CalcA(A,N)
    !DEC$ ATTRIBUTES DLLEXPORT :: CALCA
    !DEC$ ATTRIBUTES ALIAS:'CalcA' :: CalcA
    IMPLICIT NONE        
    ...
    end subroutine CalcA

which produces an exported function in a .dll DependencyWalker

So now I am trying the new ISO_C_BINDING with the following code

    subroutine CalcA(A,N) BIND(C, NAME="CalcA")
    USE, INTRINSIC :: ISO_C_BINDING
    IMPLICIT NONE        
    ...        
    end subroutine CalcA

But the export function is not created

DependencyWalker

So what am I missing here? How is the new iso_c_binding going to replace the deprecated !DEC$ ATTRIBUTE DLLEXPORT declarations?

PS. I am on Intel Fortran XE 2013 on a Win7-64 platform through VS2010.

1 Answers
Related