- 论坛徽章:
- 0
|
今天开始,重新认识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
[email=_WSAStartup@8]_WSAStartup@8[/email]
XGF_Server.obj : error LNK2001: unresolved external symbol
[email=_WSAStartup@8]_WSAStartup@8[/email]
XGF_Client.obj : error LNK2001: unresolved external symbol
[email=_WSACleanup@0]_WSACleanup@0[/email]
XGF_Server.obj : error LNK2001: unresolved external symbol
[email=_WSACleanup@0]_WSACleanup@0[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_listen@8]_listen@8[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_bind@12]_bind@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_htons@4]_htons@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_htonl@4]_htonl@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_setsockopt@20]_setsockopt@20[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_socket@12]_socket@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=___WSAFDIsSet@8]___WSAFDIsSet@8[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_select@20]_select@20[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_WSAGetLastError@0]_WSAGetLastError@0[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_connect@12]_connect@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_ioctlsocket@12]_ioctlsocket@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_inet_addr@4]_inet_addr@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_gethostbyname@4]_gethostbyname@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_closesocket@4]_closesocket@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_shutdown@8]_shutdown@8[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_accept@12]_accept@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_recv@16]_recv@16[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_send@16]_send@16[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_gethostbyaddr@12]_gethostbyaddr@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_getsockname@12]_getsockname@12[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_inet_ntoa@4]_inet_ntoa@4[/email]
XGF_Socket.obj : error LNK2001: unresolved external symbol
[email=_getpeername@12]_getpeername@12[/email]
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的安装目录下。
from:
http://boyeestudio.cnblogs.com/archive/2005/12/10/294539.html
(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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/74100/showart_1134012.html |
|