Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350425
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:01:55

--------------------Configuration:   csgptest   -   Win32   Debug--------------------  
  Linking...  
  CSGPAPI.lib(csgpapi.obj)   :   error   LNK2001:   unresolved   external   symbol   _htons@4  
  CSGPAPI.lib(csgpapi_internal.obj)   :   error   LNK2001:   unresolved   external   symbol   _htons@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _htons@4  
  CSGPAPI.lib(csgpapi_internal.obj)   :   error   LNK2001:   unresolved   external   symbol   _ntohs@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _ntohs@4  
  CSGPAPI.lib(ls_link.obj)   :   error   LNK2001:   unresolved   external   symbol   _ntohs@4  
  CSGPAPI.lib(csgpapi_internal.obj)   :   error   LNK2001:   unresolved   external   symbol   _htonl@4  
  CSGPAPI.lib(csgpapi_internal.obj)   :   error   LNK2001:   unresolved   external   symbol   _ntohl@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _select@20  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _WSAStartup@8  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _WSACleanup@0  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _gethostbyname@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _inet_addr@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _getservbyname@8  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _listen@8  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _bind@12  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _setsockopt@20  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _socket@12  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _getprotobyname@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _closesocket@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _connect@12  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _inet_ntoa@4  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _accept@12  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _send@16  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _recv@16  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _gethostname@8  
  CSGPAPI.lib(ls_socks.obj)   :   error   LNK2001:   unresolved   external   symbol   _getpeername@12  
  Debug/csgptest.exe   :   fatal   error   LNK1120:   23   unresolved   externals  
  执行   link.exe   时出错.  
   
   
  baidu了n遍后问题还是如此.  
  lib也添加到库模块里了,就是搞不定.请大家指点..
问题点数:50、回复次数:7
Top


1 楼i_noname(晚九朝五)回复于 2006-08-24 11:32:40 得分 30看错误是lib没有链接,在代码中添上这句试试:  
  #pragma   comment(lib,   "Ws2_32.lib")  
 
Top

2 楼searingice(獨行·雪夜)(现实像石头,精神是个蛋。)回复于 2006-08-24 11:42:39 得分 0 呵呵.真厉害.50分是你的啦.  
  能再讲讲为什么要加入这句代码吗?谢谢.
Top

3 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-08-24 12:25:23 得分 3#pragma   comment(lib,   "Ws2_32.lib")  
   
  表示将ws2_32.lib与你的程序链接在一起.
Top

4 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2006-08-24 12:59:42 得分 7能再讲讲为什么要加入这句代码吗?谢谢.  
  这个看错误信息:  
  htons等函数无法找到~~  
  因为程序找不到该函数的实现~~  
  所以要通过ws2_32.lib库来链接到一起就可以找到该函数的实现~~~
Top

5 楼bjskyhorse()回复于 2006-08-24 13:16:42 得分 3或者看SETTING/LINK里面有没有链接对应的LIB,因为你调用的函数是通过LIB来找的..
Top

6 楼krh2001(边城浪子)回复于 2006-08-24 13:21:22 得分 7需要连接到SOCKET库,因为你的程序里调用了库里的函数.  
   
  #pragma   comment(lib,   "ws2_32.lib")  
 
Top

7 楼searingice(獨行·雪夜)(现实像石头,精神是个蛋。)回复于 2006-08-24 14:19:48 得分 0 额谢谢大家.受教了.



--------------------next---------------------
在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有:

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex





下面介绍解决的方法:

1. Windows子系统设置错误, 提示:

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Windows项目要使用Windows子系统, 而不是Console, 可以这样设置:

[Project] --> [Settings] --> 选择"Link"属性页,

在Project Options中将/subsystem:console改成/subsystem:windows





2. Console子系统设置错误, 提示:

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

控制台项目要使用Console子系统, 而不是Windows, 设置:

[Project] --> [Settings] --> 选择"Link"属性页,

在Project Options中将/subsystem:windows改成/subsystem:console





3. 程序入口设置错误, 提示:

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口:

[Project] --> [Settings] --> 选择"Link"属性页,

在Category中选择Output,

再在Entry-point symbol中填入wWinMainCRTStartup, 即可





4. 线程运行时库设置错误, 提示:

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

这是因为MFC要使用多线程时库, 需要更改设置:

[Project] --> [Settings] --> 选择"C/C++"属性页,

在Category中选择Code Generation,

再在Use run-time library中选择Debug Multithreaded或者multithreaded

其中,

Single-Threaded 单线程静态链接库(release版本)

Multithreaded 多线程静态链接库(release版本)

multithreaded DLL 多线程动态链接库(release版本)

Debug Single-Threaded 单线程静态链接库(debug版本)

Debug Multithreaded 多线程静态链接库(debug版本)

Debug Multithreaded DLL 多线程动态链接库(debug版本)

单线程: 不需要多线程调用时, 多用在DOS环境下

多线程: 可以并发运行

静态库: 直接将库与程序Link, 可以脱离MFC库运行

动态库: 需要相应的DLL动态库, 程序才能运行

release版本: 正式发布时使用

debug版本: 调试阶段使用

--------------------next---------------------

阅读(1356) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~