在VC ++中调用C ++ dll

时间:2013-01-24 09:10:00

标签: c++

我正在使用SAGEM MORPHO DLL在VC ++上编写应用程序 我所指的DLL是MORPHO_SDK.dll
暴露的功能是我

C_MORPHO_User::Enroll  ( US  i_us_Timeout,UC  i_uc_FingerNumber, T_MORPHO_TYPE_TEMPLATE  i_x_TemplateType,  
  UL  i_ul_CallbackCmd,  
  T_MORPHO_CALLBACK_FUNCTION  i_pf_Callback,  
  PVOID  i_pv_CallbackArgument,  
  I  i_i_CoderChoice,  
  UL  i_ul_DetectModeChoice   
 )   

我打电话的方式是

    int res;  
    C_MORPHO_User u,nw,idf;  

extern "C
" __declspec(dllimport) int Enroll  ( US  i_us_Timeout,UC  i_uc_FingerNumber, 
    T_MORPHO_TYPE_TEMPLATE  i_x_TemplateType,  
  UL  i_ul_CallbackCmd,  
  T_MORPHO_CALLBACK_FUNCTION  i_pf_Callback,  
  PVOID  i_pv_CallbackArgument,  
  I  i_i_CoderChoice,  
  UL  i_ul_DetectModeChoice   
 ) ;  
main()
{
int x=u.Enroll(0x15,1,MORPHO_PK_ISO_FMR ,0,NULL,NULL,MORPHO_MSO_V9_CODER ,MORPHO_ENROLL_DETECT_MODE);  
    printf("%d\n",x);  
}  

编译时我收到这些错误

  

1.syntax错误:缺少';'在标识符'u'之前   2.C_MORPHO_User:缺少存储类或类型说明符。

这是调用Dll的正确方法吗?请帮助解决问题。

1 个答案:

答案 0 :(得分:0)

我包含了所有必要的Header文件,它已经解决了这个问题。