免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2145 | 回复: 0
打印 上一主题 下一主题

fatal error C1010: unexpected end of file while lo [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-19 15:35 |只看该作者 |倒序浏览
今天开始,重新认识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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP