0
我正在使用SAGEM MORPHO DLL在VC++上編寫應用程序。
我指的DLL是MORPHO_SDK.dll
曝光功能是我在VC++中調用C++ 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的正確方法。請幫助解決問題。
第一個問題的直接答案是* no *,它不是*'調用DLL'的正確方法。對於初學者來說,你需要從你的.h文件中定義類的定義。 – WhozCraig
幾件事情:首先,您需要在定義了'C_MORPHO_User'的頭文件中包含該頭文件。其次,你不應該聲明一個獨立函數'Enroll',因爲它是'C_MORPHO_User'的成員函數,並且將被聲明爲'C_MORPHO_User'類定義的一部分。 –
當我包含各自的頭文件頭文件,它給出的錯誤,如C_MORPHO_TemplateList':基類未定義,C_MORPHO_FieldList':基類未定義,語法錯誤:標識符'C_MORPHO_TemplateList'等... – WallPoster