DLL问题
我把一个C/S MFC程序(应该说是两个,一个Client,一个Server)改写成DLL.
Client有由MFCAppWizard[DLL],选择regular dll. 并包含 WinSocket.新建类CClientSocket继承自CSocket文件名为:RemoteControl
我怎么改写呀. 我把一些自己编写函数: USBConnectServer(char* IP),USBInitialize(BYTE),USBStart(BYTE),USBUpdate(//若干参数)要导出来USBStop(BYTE);导出来.我把他们写在RemoteControl类里面,但是无法使用导出关键字,写成全局的时候,
CClientSocket *m_pSocket; //
LPCTSTR m_strServerName;//
UINT m_nPort;//
extern "C" __declspec(dllexport) BYTE USBConnectServer(char *IP);
extern "C" __declspec(dllexport) BYTE USBInitialize();
..........
当我在Cliaent里面写函数虚函数virtual void OnReceive(int nErrorCode)的时候,build的时候就会出错:
RemoteControl.obj : error LNK2005: "class CClientSocket * m_pSocket" (?m_pSocket@@3PAVCClientSocket@@A) already defined in ClientSocket.obj
RemoteControl.obj : error LNK2005: "char const * const m_strServerName" (?m_strServerName@@3PBDB) already defined in ClientSocket.obj
RemoteControl.obj : error LNK2005: "unsigned int m_nPort" (?m_nPort@@3IA) already defined in ClientSocket.obj
ClientSocket.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CClientSocket::OnReceive(int)" (?OnReceive@CClientSocket@@UAEXH@Z)
Debug/RemoteControl.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
不知何故.我想让各位高手帮忙看看这个到底怎么写.高位大侠多多帮忙
Client有由MFCAppWizard[DLL],选择regular dll. 并包含 WinSocket.新建类CClientSocket继承自CSocket文件名为:RemoteControl
我怎么改写呀. 我把一些自己编写函数: USBConnectServer(char* IP),USBInitialize(BYTE),USBStart(BYTE),USBUpdate(//若干参数)要导出来USBStop(BYTE);导出来.我把他们写在RemoteControl类里面,但是无法使用导出关键字,写成全局的时候,
CClientSocket *m_pSocket; //
LPCTSTR m_strServerName;//
UINT m_nPort;//
extern "C" __declspec(dllexport) BYTE USBConnectServer(char *IP);
extern "C" __declspec(dllexport) BYTE USBInitialize();
..........
当我在Cliaent里面写函数虚函数virtual void OnReceive(int nErrorCode)的时候,build的时候就会出错:
RemoteControl.obj : error LNK2005: "class CClientSocket * m_pSocket" (?m_pSocket@@3PAVCClientSocket@@A) already defined in ClientSocket.obj
RemoteControl.obj : error LNK2005: "char const * const m_strServerName" (?m_strServerName@@3PBDB) already defined in ClientSocket.obj
RemoteControl.obj : error LNK2005: "unsigned int m_nPort" (?m_nPort@@3IA) already defined in ClientSocket.obj
ClientSocket.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CClientSocket::OnReceive(int)" (?OnReceive@CClientSocket@@UAEXH@Z)
Debug/RemoteControl.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
不知何故.我想让各位高手帮忙看看这个到底怎么写.高位大侠多多帮忙
...全文
相关推荐
ntwdblib.dll问题
了解ntwdblib.dll的工作原理以及如何解决相关问题,对于进行数据库相关的开发工作非常重要。确保正确处理这些问题可以避免应用程序的不稳定性和用户遇到的错误。
KERNELBASE.dll问题
如果 KERNELBASE.dll 文件出现问题,可能会导致系统崩溃或资源管理器停止工作。KERNELBASE.dll 文件的常见问题:1.
解决140.dll缺失问题
**重新安装引起问题的软件**:有时候,问题可能源于软件安装不完整或损坏。在这种情况下,尝试卸载并重新安装该软件,可能会自动解决缺失的DLL问题。4.
vcruntime140.dll 问题的解决方法
通过理解和解决vcruntime140.dll的问题,你可以学习到关于Windows系统、DLL机制、软件依赖和系统兼容性的关键知识,这对于理解和维护计算机系统是十分重要的。
解决丢失Storm.dll的问题
标题中的“解决丢失Storm.dll的问题”指的是在操作系统中遇到一个常见的错误,即系统提示Storm.dll文件丢失或损坏。这个问题通常发生在尝试运行某些依赖于这个动态链接库(DLL)的软件时。


进程/线程/DLL
