fatal error LNK1169: 找到一个或多个多重定义的符号

头文件MySocket.h

#if !defined(AFX_MYSOCKET_H__4481E1F7_8EDB_4EF2_BBBD_B66C84D642FE__INCLUDED_)
#define AFX_MYSOCKET_H__4481E1F7_8EDB_4EF2_BBBD_B66C84D642FE__INCLUDED_


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MySocket.h : header file
//
#include <afxsock.h>
//发送文件线程数
#define NumOfThread 5
/
// CMySocket command target


class CMySocket : public CAsyncSocket
{
// Attributes
public:


// Operations
public:
CMySocket();
virtual ~CMySocket();


// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMySocket)
public:
virtual void OnAccept(int nErrorCode);
virtual void OnSend(int nErrorCode);
//}}AFX_VIRTUAL


// Generated message map functions
//{{AFX_MSG(CMySocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG


// Implementation
protected:
private:
int Thdidx;
};
//侦听套接字和发送数据套接字
extern CMySocket listenSocket,sendSockets[NumOfThread];
//数据发送事件
extern HANDLE hMessageSend[NumOfThread];
/


//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.


#endif // !defined(AFX_MYSOCKET_H__4481E1F7_8EDB_4EF2_BBBD_B66C84D642FE__INCLUDED_)

头文件TreadFunc.h

#ifndef _THREADFUNC_H_

#define _THREADFUNC_H_


#include "MySocket.h"
//一次读取数据大小
#define ReadSize 1024
//数据发送事件
extern HANDLE hMessageSend[NumOfThread];
//数据发送完成事件
extern HANDLE hEvent[NumOfThread];
//侦听套接字和发送数据套接字
extern CMySocket listenSocket,sendSockets[NumOfThread];
//发送文件名
extern char fn[40];
//发送数据线程
DWORD WINAPI SendThreadFunction(LPVOID lpParameter);
//监视线程
DWORD WINAPI MonitorFunc(LPVOID lpParameter);
//发送数据函数
void SendThread(int idx);
//获得一个线程要写入文件的开始位和文件块大小
void GetBeginPos(int TotalThreads,int ThreadIndex,long file_length,long &BgPos,long &BlkSize);

#endif

头文件FileTransferServerDlg.h

#if !defined(AFX_FILETRANSFERSERVERDLG_H__D7CB43E0_183A_4588_B7EB_137DBCFC3CA3__INCLUDED_)
#define AFX_FILETRANSFERSERVERDLG_H__D7CB43E0_183A_4588_B7EB_137DBCFC3CA3__INCLUDED_


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


/
// CFileTransferServerDlg dialog
//#include "MySocket.h"
#include "TreadFunc.h"
//侦听套接字和发送数据套接字
CMySocket listenSocket,sendSockets[NumOfThread];
//数据发送事件和数据发送完成事件
HANDLE hMessageSend[NumOfThread],hEvent[NumOfThread];
//发送文件名
char fn[40];


class CFileTransferServerDlg : public CDialog
{
// Construction
public:
HANDLE hMoniter;    //监视线程句柄
HANDLE hSendThread[NumOfThread];   //发送文件线程句柄
CFileTransferServerDlg(CWnd* pParent = NULL); // standard constructor


// Dialog Data
//{{AFX_DATA(CFileTransferServerDlg)
enum { IDD = IDD_FILETRANSFERSERVER_DIALOG };
int m_port;     //端口号
CString m_filename;  //文件名
//}}AFX_DATA


// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFileTransferServerDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL


// Implementation
protected:
HICON m_hIcon;


// Generated message map functions
//{{AFX_MSG(CFileTransferServerDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnStart();    //启动服务消息响应函数
afx_msg void OnSend();     //发送数据消息响应函数
afx_msg void OnQuit();     //退出程序消息响应函数
afx_msg void OnBrowse();   //浏览文件消息响应函数
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};


//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.


#endif // !defined(AFX_FILETRANSFERSERVERDLG_H__D7CB43E0_183A_4588_B7EB_137DBCFC3CA3__INCLUDED_)

主要是这三个头文件,编译出错:

1>FileTransferServerDlg.obj : error LNK2005: "void * * hMessageSend" (?hMessageSend@@3PAPAXA) 已经在 FileTransferServer.obj 中定义
1>FileTransferServerDlg.obj : error LNK2005: "void * * hEvent" (?hEvent@@3PAPAXA) 已经在 FileTransferServer.obj 中定义
1>FileTransferServerDlg.obj : error LNK2005: "char * fn" (?fn@@3PADA) 已经在 FileTransferServer.obj 中定义
1>FileTransferServerDlg.obj : error LNK2005: "class CMySocket * sendSockets" (?sendSockets@@3PAVCMySocket@@A) 已经在 FileTransferServer.obj 中定义
1>FileTransferServerDlg.obj : error LNK2005: "class CMySocket listenSocket" (?listenSocket@@3VCMySocket@@A) 已经在 FileTransferServer.obj 中定义
1>.\Debug\FileTransferServer.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

怎么解决?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值