C++ 中winsock源代码应用错误
1.
A.我在C++中调用winsock函数编译老出错:
Cpp1.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
Cpp1.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
Cpp1.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/Cpp1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
B.如在开始中加入extern "c" 问题同上;
C.原代码如下:
#include <iostream>
#include <winsock2.h>
using namespace std;
//extern "c";
int main()
{
WSADATA words ;
if(WSAStartup(MAKEWORD(2,2),&words)!=0)
{cout << "Winsock init failed!";}
char *pi;
pi=new char;
gethostname(pi,1024);
cout <<"You host name: "
<< *pi
<< endl;
WSACleanup();
return 1;
}
问题点数:100、回复次数:13Top
1 楼cwanter(亚玛逊河上的渔夫)回复于 2002-04-13 10:17:13 得分 1
要在工程中包含“WINSOCK。LIB”文件。Top
2 楼dancerindark(麦田里守望者)回复于 2002-04-13 10:18:40 得分 5
把winsock的库包含进来。Wsock32.libTop
3 楼rovoboy(魂之猎人)回复于 2002-04-13 10:36:58 得分 1
#include <winsock.h>
Top
4 楼neccui(PPC)回复于 2002-04-13 10:52:59 得分 5
包含相应的库文件。
有两个都可以,
除了wsock32.lib,还有ws2_32.libTop
5 楼huyx_13(fox)回复于 2002-04-13 11:27:52 得分 5
缺少库文件Wsock32.lib
Top
6 楼wolaiye3(魔幻之光)回复于 2002-04-13 11:45:35 得分 1
高!Top
7 楼cococut(小鱼的天空)回复于 2002-04-13 13:21:22 得分 20
setting->link中加入
ws2_32.lib就可以Top
8 楼Luck_xyl(xyl_cn)回复于 2002-04-13 13:28:47 得分 1
如何知道在调用的程序中应当加什么库文件?Top
9 楼hhxz770(天翼.李)回复于 2002-04-13 15:21:49 得分 0
不对,不对,我是纯c++ 下面的程序,我库中已经加了#include <winsock2.h>
了,即使加了#include <winsock.h>也是一样的错误。加winsock.lib,在c++中还真不知如何加了.help me!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Top
10 楼cwanter(亚玛逊河上的渔夫)回复于 2002-04-13 16:04:18 得分 1
你是用什么工具?Top
11 楼cun(春)回复于 2002-04-13 16:11:19 得分 20
在“project”里面找到“setting”,点击她,选择link属性页,加入ws2_32.lib
如果你用的是VCTop
12 楼cwanter(亚玛逊河上的渔夫)回复于 2002-04-13 16:18:13 得分 40
在WINDOWS VC6.0里为Project->Setting->link->Object/module libray:加入Wsock32.lib,如果是用命令行的话在link 参数表里加上Wsock32.lib.其它工具没用过。Top
13 楼hhxz770(天翼.李)回复于 2002-04-13 21:36:13 得分 0
各位高手,不错加入link就行了,哈哈,谢了,收分.
cwanter最多,他说得最详细,正适合我这种人学Top




