MFC-局域网聊天工具bug集锦

原创 2015年11月21日 13:28:51

基于socket_src目录下的lantalker的编译问题及解决(这跟下面的问题无关,只是方便博主记忆)

程序名称:talker3

工具:VS2013


1.cannot convert from const char a[6] to CString
本来的代码是:CString str = "recv-";
解决:改成 CString str = _T("recv-");就行了

2.cannot convert argument 2 from 'wchar_t*' to 'const char*'
解决:设置项目属性->配置属性->常规->修改unicode为多字符集

注:关于字符的错误还有一种可能的就是:#include<tchar.h>

3.用VS2013编译VS6写的程序时出现:building an mfc project for anon-unicode character set is deprecated.
原因:用于多字节字符编码 (MBCS) 的 MFC 库 (DLL) 不再包含于 Visual Studio 中,但是可用作插件
解决:下载mfc安装就行了

4.‘gethostbyname’: Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
   还有'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
解决:#define _WINSOCK_DEPRECATED_NO_WARNINGS还是没有用
最终方案:设置项目属性->C/C++ ->常规->SDL设为No

5.编译成功以后运行程序:“创建套接字错误”
原因:talker3.cpp中的InitInstance()函数里没有初始化套接字环境,复制代码用AfxSocketInit()函数初始化

6.解决了问题5之后编译出现:identifier "AfxSocketInit" is undefined
解决:#include "Afxsock.h"

这样创建套接字就成功了,但是绑定地址有错误,明天解决。但是对话框已经能加载了

7.绑定地址错误是因为之前就已经把3456号端口绑定过了,还没有正常关闭,所以失败
换一个端口号就行了

8.解决了上面的问题后成功运行了程序,却出现问题:
创建套接字和绑定地址都没问题,但是一按发送键对话框就自己退出了,查看端口也发现刚绑定好的端口没了
原因:使用的默认的“确认”控件,所以在响应函数里会自动生成代码:

void Ctalker3Dlg::OnBnClickedOk()
{
	// TODO: Add your control notification handler code here
	CDialogEx::OnOK();//把这一句注释就行了,原因自己想
	//这下面是我自己写的响应代码
}

9.error LNK2001: unresolved external symbol "protected: long __thiscall Ctalker3Dlg::OnTrayNotification(unsigned int,long)
原因:OnTrayNotification(unsigned int,long)函数只声明了但是没有定义
解决:在.cpp文件中加上函数的实现就行了,如:
LRESULT Ctalker3Dlg::OnTrayNotification(WPARAM uID, LPARAM lEvent)		
{
	return m_trayIcon.OnTrayNotification(uID, lEvent);
}

10.error rc2135:file not found:0
这个错误一般就是.rc文件有问题了,要不就是不小心修改了什么东西,要不就是用notepad++修改后保存,但是字符集有问题不是unicode
解决:这个问题我还没解决,试着用记事本打开这个文件,然后另存为unicode重编译还是不行

11.C1189: #error :  Please use the /MD switch for _AFXDLL builds
描述:我用debug版本编译后在没有装vs的电脑上运行不了,后改为release版本还是不行。
现在想在release版本下用静态编译,我是这么设置的:
项目属性->C/C++->代码生成->运行库选择“多线程/MT”,编译出现上面的错误
解决:项目属性->配置属性->general->use of mfc选择use mfc in static library


版权声明:本文为博主原创文章,未经博主允许不得转载。

NAND FLASH ECC校验原理与实现

ECC简介  由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND...
  • nolatin
  • nolatin
  • 2011年06月08日 10:33
  • 455

用WINSOCK实现聊天室的VC++程序设计

用WINSOCK实现聊天室的VC++程序设计 一、SOCKET简介 80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大 学Berkeley分校提供了资金,让他们在UNIX操作系统下实现T...
  • andymei
  • andymei
  • 2000年08月23日 02:26
  • 4370

我的大作业——MFC开发的聊天工具(局域网形式,飞秋的半实现版)

/////////////////////////////////////////// // TCPClient.h文件include include include pragma comment(...

MFC编写的局域网聊天工具

  • 2013年04月01日 23:01
  • 41KB
  • 下载

一个不错的局域网聊天工具之飞鸽传书下载地址

大哥要回桂林了。在回桂林前,飞鸽传书下载帮他和他的同学们去中关村电子市场一口气买了三台电脑,当时最红火的电子市场是中关村电子市场,就是现在北大太平洋电脑商场所在的地方。 每个浏览器背后都有很多U8K...

MFC编写的局域网聊天工具

  • 2013年11月02日 12:27
  • 4.79MB
  • 下载

自己做的MFC的socket局域网聊天工具

  • 2009年06月04日 21:51
  • 1.33MB
  • 下载

局域网聊天工具(可发送图片与文件)

http://blog.csdn.net/sunshinestation/article/details/4437404 1.      运行软件前需安装JDK6.0 2.      ...

局域网聊天工具MFC

  • 2008年10月25日 16:48
  • 48KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC-局域网聊天工具bug集锦
举报原因:
原因补充:

(最多只允许输入30个字)