对`DSM_ENTRY`的未定义引用

时间:2018-05-15 10:50:16

标签: c++ twain

我试图实现Twain协议,我在初始时遇到了这个错误 仅限舞台。任何了解Twain协议的人都可以提供帮助。

#include<twain.h>
#include<kdscust.h>
#include<stddef.h>
#include<stdio.h>
#include<string.h>
int main()
{
    TW_IDENTITY twIdentity;  
    TW_UINT16 rc;
    TW_IDENTITY  kdk;
    kdk.Id=0;
    kdk.Version.MajorNum=5;
    kdk.Version.MinorNum=5;
    kdk.Version.Language=TWLG_ENGLISH_USA;
    kdk.Version.Country=TWCY_USA;
    strcpy(kdk.Version.Info,"KDS v2.3.8 2017/11/09");
    kdk.ProtocolMajor =2;
    kdk.ProtocolMinor=2;
    kdk.SupportedGroups=DG_CONTROL;
    strcpy(kdk.Manufacturer,"Kodak"); 
    strcpy(kdk.ProductFamily,"Generic");
    strcpy(kdk.ProductName,"Kodak");
    //Opening The Source Manager
    rc = (DSM_Entry)(&kdk,NULL,DG_CONTROL,DAT_PARENT,MSG_OPENDSM,NULL);
    if (rc == TWRC_SUCCESS)
    {
        printf("Success");
    }
    else
    {
        printf("Failure");
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

您已经包含了仅包含DSM_Entry声明的头文件。

我不确定,但是我认为一种方法是在TwainDSM DLL上调用LoadLibrary。但是我认为更好的方法是从Twain org下载示例驱动程序/应用程序,并使用它来构建代码。

https://sourceforge.net/projects/twain-samples/。可能可以帮上忙。