VS2005 智能设备自制的DLL 编译成功后无法连接外部符号
制作过程:
VS2005->智能设备->Win32智能设备项目->平台->DLL
头文件:
#pragma once
#ifdef MYCLASS
#else
#define MYCLASS __declspec(dllimport)
#endif
class MYCLASS CMediaCtrl
{
public:
CMediaCtrl();
~CMediaCtrl();
void PreInit(HWND hVideoWnd,LPCTSTR strFileName);
....
};
CPP文件
#include "stdafx.h"
#include "MediaCtrl.h"
#include "EricCamera.h"
#include "Video.h"
CEricCamera m_Camera;
CVideoPlay m_Vedio;
#define MYCLASS __declspec(dllexport)
CMediaCtrl::CMediaCtrl()
{
}
CMediaCtrl::~CMediaCtrl()
{
}
void CMediaCtrl::PreInit(HWND hVideoWnd ,LPCTSTR strFileName)
{
.....
}
再生产Release版本后,在其他的只能设备应用程序中调用:
把DLL和LIB拷入相应的目录,
项目-》连接器-》输入-》附加依赖项-》MyDLL.lib
编译时没有问题。连接时出项一下问题:
1>LINK : warning LNK4232: 名称 导图V.exe 包含非 ASCII 字符,在具有除 936 以外的 ANSI 代码页的系统上可能不能加载 DLL
1>MediaTakePicture.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl CMediaCtrl::PreInit(struct HWND__ *,wchar_t const *)" (__imp_?PreInit@CMediaCtrl@@QAAXPAUHWND__@@PB_W@Z),该符号在函数 "public: virtual int __cdecl CMediaTakePicture::OnCreate(void)" (?OnCreate@CMediaTakePicture@@UAAHXZ) 中被引用
1>.\binvc\导图V.exe : fatal error LNK1120: 1 个无法解析的外部命令