今天开始,重新认识socket 编程,在用vc 6.0 的过程中出的问题,都贴出来,以便以后注意;
一 ,
fatal error C1010: unexpected end of file while looking for precompiled header directive
肯定是一个新添加的类的.cpp文件开头没包含stdafx.h,在该文件最前面加上即可。
{补充:
#include "stdafx.h"
对预编译头文件说明如下:
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。
}
BOBO的意见:
有时可以使用右键点击项目工程中的该cpp文件,选择setting,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题。
二,
XGF_Client.obj : error LNK2001: unresolved external symbol
XGF_Server.obj : error LNK2001: unresolved external symbol
XGF_Client.obj : error LNK2001: unresolved external symbol
XGF_Server.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
XGF_Socket.obj : error LNK2001: unresolved external symbol
Debug/test.exe : fatal error LNK1120: 24 unresolved externals
Error executing link.exe.
Creating browse info file...
test.exe - 27 error(s), 0 warning(s)
解答:
(1)
编VC网络程序遇到一个问题。原来是少了一个WSOCK32.LIB
告诫一下自己:
在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。
1.WINSOCK.H: 这是WINSOCK API的头文件,需要包含在项目中。
2.WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一定要把它作为项目的非缺省的连接库包含到项目文件中去。
3.WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。
(2)
由于没有添加对应的Ws2_32.lib库引起的,添加的方法如下:
按alt+f7打开project settings对话框,选Link,在Object/library modules中加入ws2_32.lib即可
(3)
也可以加载wsock32.lib
方法:打开project settings对话框,选Link,在Object/library modules中加入wsock32.lib
阅读(2100) | 评论(0) | 转发(0) |