I have a C function that uses structures. I developed a Fortran Wrapper which calls the C function. Both libraries are built successfully. I have passed the variables form the PSCAD model and run the case. The PSCAD model is throwing the error.
Error Message:
Type    Id  Component   Namespace   Description
            dll_df  FORTRA~1.LIB(dlltestx.obj) : error LNK2019: unresolved external symbol _test_cfun referenced in function _AUX_CFUN
C-Code:
// This is an example of an exported variable
    typedef struct _goose_c
    {
       int in1;      
       float in2;
    }goose_c;
    __declspec(dllexport) void test_cfunc(goose_c *V, double *out1)
    {
       //*out1 = (*V).in1 + (*V).in2;
       *out1 = V->in1 + V->in2;
    }
Fortran Wrapper Code:
  SUBROUTINE AUX_CFUN(ip1, ip2, out1)
        
       use, intrinsic :: iso_c_binding
       
       implicit none           
       integer, intent(in)  ::  ip1
       real,    intent(in)  ::  ip2
       real,    intent(out) ::  out1 
   
       type, bind(C)   :: goose_t
       integer(c_int)  :: in1
       real(c_double)  :: in2
       end type goose_t                     
          
       type(goose_t) :: goose_f             
          
       ! Fortran 90 interface to a C procedure
       INTERFACE
           SUBROUTINE TEST_CFUN (goose_f,out1) bind (C)
               use iso_c_binding                   
               import :: goose_t
               type(goose_t), intent (in)   :: goose_f
               real(c_double), intent (out) :: out1
           END SUBROUTINE TEST_CFUN
       END INTERFACE 
       
       goose_f%in1 = ip1
       goose_f%in2 = ip2
       
       ! call of the C procedure
       CALL TEST_CFUN(goose_f,out1)           
       RETURN
   END SUBROUTINE AUX_CFUN
 
     
    