extern "C" WEBCAM_SDK HRESULT __stdcall Init(int iDeviceID, HWND hWnd)
这样,我的vc就找不到function.

extern "C" WEBCAM_SDK HRESULT Init(int iDeviceID, HWND hWnd)
就可以,
我的vc调用是这样的:
typedef void (WINAPI * TESTDLL)(HWND hWnd, int nWidth, int nHigh);
HINSTANCE hmod;
hmod = ::LoadLibrary ("WebCam_SDKOfC.dll");
TESTDLL lpproc;
lpproc = (TESTDLL)GetProcAddress(hmod,"CreateWebCam");
if(lpproc!=(TESTDLL)NULL)
{
(*lpproc)(hWnd, rect.Width(), rect.Height());
//i = pExportClass->Fun1();
}

解决方案 »

  1.   

    哦,我的sdk dll, 中,head file 定义
    #ifdef WEBCAM_SDKOFC_EXPORTS//dll中有定义
    #define WEBCAM_SDK __declspec(dllexport)
    #else
    #define WEBCAM_SDK __declspec(dllimport)
    #endif
      

  2.   

    看这个帖子, 估计就是这个问题.http://community.csdn.net/Expert/topic/5279/5279755.xml?temp=.9162409
      

  3.   

    编译器会改名字,弄个def文件限定输出名字。
      

  4.   

    thanks crumpy() , 其它语言也是变成相应名字吗
      

  5.   

    TO:akirya(坏[其实偶不是什么所谓的坏人]) 
    请问我怎样做def文件
      

  6.   

    其它语言也是变成相应名字吗
    ----------------------------只要按akirya(坏[其实偶不是什么所谓的坏人]) 说的做, 就可以用原来的名字了, 而不是改名后的.
      

  7.   

    建立DLL时同时也建立个DEF文件用来导出函数,这样就不会出现名字改编了