关于 Eclipse 开发C++ Socket  ,在开发的过程中 用WinGW 平台编译,

示例server端:

#include <winsock2.h>
#include <mswsock.h>
#include <iostream>
#include <windows.h>
using namespace std;

#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "mswsock.lib")

DWORD IniSOCKDLL()
{
 WORD wVersionRequested;
 WSADATA wsaData;
 int err=0;

wVersionRequested = MAKEWORD( 2, 2 );
 err = WSAStartup( wVersionRequested, &wsaData );
 return err;
}

int main(int argc, char* argv[])
{
 IniSOCKDLL();
 SOCKET sc=WSASocket(AF_INET,
  SOCK_STREAM,
  0,
  NULL,
  0,
  NULL);

SOCKADDR_IN addr;
 int len;
 addr.sin_family=AF_INET;
 addr.sin_addr.s_addr = inet_addr("127.0.0.1");
 addr.sin_port = htons(1002);
 len=sizeof(addr);

connect(sc, (struct sockaddr *)&addr, len);

char buff[1024];
 ZeroMemory(buff,1024);

cout<<"邮包开始发送"<<endl;

/*for(int i=0;i<=100;i++)
 {
  if(i==0)
  {*/
   memcpy(buff,"邮包从南京出发",14);
   send(sc,buff,14,0);
   Sleep(1000);
  /*}
  else if(i<20)
  {*/
   memcpy(buff,"邮包在南京和镇江之间",20);
   send(sc,buff,20,0);
   Sleep(1000);

memcpy(buff,"邮包到达镇江",12);
   send(sc,buff,12,0);
   Sleep(1000);

memcpy(buff,"邮包在镇江和常州之间",20);
   send(sc,buff,20,0);
   Sleep(1000);

memcpy(buff,"邮包到达常州",12);
   send(sc,buff,12,0);
   Sleep(1000);

memcpy(buff,"邮包在常州和无锡之间",20);
   send(sc,buff,20,0);
   Sleep(1000);

memcpy(buff,"邮包到达无锡",12);
   send(sc,buff,12,0);
   Sleep(1000);

memcpy(buff,"邮包在无锡和苏州之间",20);
   send(sc,buff,20,0);
   Sleep(1000);

memcpy(buff,"邮包到达苏州",12);
   send(sc,buff,12,0);
   Sleep(1000);

memcpy(buff,"邮包在苏州和上海之间",20);
   send(sc,buff,20,0);
   Sleep(1000);
  /*}
     else
  {*/
         memcpy(buff,"邮包到达上海",12);
   send(sc,buff,12,0);
   Sleep(1000);

/* recv(ss,buff,12,0);
         cout<<buff<<endl;*/

closesocket(sc);
 return 0;
}

会发现Error] C:\Users\HEIORAY\Documents\C-Free\Projects\PING\pi.c:277: undefined reference to `WSASocketA@24'

程序开始时已经导入winsock之类的库,同时#pragma comment(lib,"ws2_32.lib"),但依旧不行,无法消除错误。后来上网搜了一些方法,说是在工程设置中有个连接,在里面加入winsock32就可以了,试过之后的确解决了一些问题。

但是下面的错误还是没有消除,

[Error] C:\Users\HEIORAY\Documents\C-Free\Projects\PING\pi.c:277: undefined reference to `WSASocketA@24'

最后在连接里面再填入一个ws2_32就可以了。如果大家有类似的错误可以试一下。

问题解决 可以进行了

关于undefined reference to `WSASocketA@24'问题的解决的更多相关文章

  1. [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

    在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc ...

  2. GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0&#39;错误的解决的方法

    /opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exid ...

  3. Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to `vtable for MainWindow'的解决办法

    在win+CLion上进行远程qt开发时碰到以下错误: 错误提示: undefined reference to `vtable for MainWindow' 原因:源文件的目录结构有问题?? 解决 ...

  4. CMake undefined reference to `QTcpServer::QTcpServer(QObject*)'的解决

    1. 这是因为工程link不到network的库,因此除了要包含头文件    #include 之外,还需要在.pro文件中加入:    QT += network 2. 对于CMake,需添加Net ...

  5. 编译nginx时提示undefined reference to 'pcre_free_study' 的问题及解决

    ./configure --add-module=../ngx_devel_kit-0.2.19/ --add-module=../lua-nginx-module-0.9.19/  --with-l ...

  6. undefined reference to `clock_gettime'编译错误的解决办法

    解决办法如下

  7. 利用gcc编译链接时出现 ‘undefined reference to `std::ios_base::Init::Init()’ 解决

    一般编译链接c++程序最好使用g++,若有如上的报错信息,需要在gcc后加上 -lstdc++ eg: gcc test.c -lstdc++ gcc和g++都是GNU的一个编译器. g++:后缀.c ...

  8. /usr/bin/ld: .build_release/tools/alignment_tools.o: undefined reference to symbol 'omp_get_thread_num@@OMP_1.0'

    问题:/usr/bin/ld: .build_release/tools/alignment_tools.o: undefined reference to symbol 'omp_get_threa ...

  9. Qt :undefined reference to vtable for "xxx::xxx"

    现象: 类加上宏 Q_OBJECT 就会报错 :undefined reference to vtable for "xxx::xxx" 解决方法: 重新 qmake 其他情况,查 ...

随机推荐

  1. Selenium2学习-013-WebUI自动化实战实例-011-WebElement.getText()值为空问题探索及解决

    今天有个朋友在群里问 WebElement.getText() 值为空,当你发现取到的值为空的时候,会不会郁闷呢?明明看到的值不为空,脚本看着也没有问题啊,为何取到的值为空呢!!!万千纠结啊,若是长时 ...

  2. Hlsl2glsl

    https://sourceforge.net/projects/hlsl2glsl/

  3. 1.Oracle数据库概述

    Oracle数据库概述 1.1Oracle结构图 1.1如何访问数据库 a.本机直接通过sock(套接字)方式访问  IPC UDP协议 ,不需要网络 b.通过tcp建立连接到oracle服务器 1. ...

  4. 给你完美浪漫的七夕,APICloud送你双人电影票!

    我一直觉得“幸福的感觉” 就像存款 留着以后用 会幸福感爆棚 于是,我一直习惯于等等,再等等 以为那样就会很幸福 直到有一天,突然发现,在我构想的未来中,总是有你 世界那么大,我只在乎你 世界那么长, ...

  5. javascript设计模式学习之十七——程序设计原则与面向接口编程

    一.编程设计原则 1)单一职责原则(SRP): 这里的职责是指“引起变化的原因”:单一职责原则体现为:一个对象(方法)只做一件事. 事实上,未必要在任何时候都一成不变地遵守原则,实际开发中,因为种种原 ...

  6. [转]那些年我还不懂:IList,ICollection,IEnumerable,IEnumerator,IQueryable

    1.首先看一个简单的例子 int[] myArray = { 1, 32, 43, 343 }; IEnumerator myie = myArray.GetEnumerator(); myie.Re ...

  7. SQL SERVER2005 的三种复制类型概述

    一.事务复制 事务性复制通常从发布数据库对象和数据的快照开始.创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器.数据更改将按照其在发布服务器上 ...

  8. 编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行

    今天主要来说说怎么在Hadoop2.2.0分布式上面运行写好的 Mapreduce 程序. 可以在eclipse写好程序,export或用fatjar打包成jar文件. 先给出这个程序所依赖的Mave ...

  9. GTA项目 一, 包装外部WebService

    外部WebService返回的是xml太重了. 而JSON是web的新标准.所以要包装一下. 使用NewtonSoft.JSON的dll里面的JsonConvert.SerializeXmlNode方 ...

  10. 不等高cell的搭建(一)

    一.界面搭建   1.确定开发模式      如果界面是固定的,可以用xib      界面的一些内容不固定,就用纯代码      cell用什么方式去开发(我们采用纯代码和xib结合的方式)   2 ...