如何解决“无法识别的命令行选项'-std = gnu11'”错误?

时间:2014-04-02 22:29:50

标签: c gcc

我打算使用C和Eclipse运行TCP客户端,这是代码。我也添加了输出。有什么想法我得到以下输出?

#include <winsock2.h>
#include <stdio.h>      /* for printf(), fprintf() */
#include <stdlib.h>     /* for exit() */

int main(int argc, char**argv)
{
   int sockfd,n;
   struct sockaddr_in servaddr,cliaddr;
   char sendline[1000];
   char recvline[1000];

   if (argc != 2)
   {
      printf("usage:  client <IP address>\n");
      exit(1);
   }

   sockfd=socket(AF_INET,SOCK_STREAM,0);

   bzero(&servaddr,sizeof(servaddr));
   servaddr.sin_family = AF_INET;
   servaddr.sin_addr.s_addr=inet_addr(argv[1]);
   servaddr.sin_port=htons(32000);

   connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));

   while (fgets(sendline, 10000,stdin) != NULL)
   {
      sendto(sockfd,sendline,strlen(sendline),0,
             (struct sockaddr *)&servaddr,sizeof(servaddr));
      n=recvfrom(sockfd,recvline,10000,0,NULL,NULL);
      recvline[n]=0;
      fputs(recvline,stdout);
   }
}
///////////////////////////////////////////////////////////////////////////////////

在这里输出:

*****11:25:59 **** Incremental Build of configuration Debug for project tcpcli ****
Info: Internal Builder is used for build
gcc -O0 -g3 -Wall -c -fmessage-length=0 -std=gnu11 -o tcpclient.o "..\\tcpclient.c" 
cc1.exe: error: unrecognized command line option '-std=gnu11'*****

1 个答案:

答案 0 :(得分:1)

我终于可以在Windows环境中编译和运行我的代码了。

gcc -v => gcc version 4.8.1 (GCC)

我在C / C ++ Build,Settings,Miscellaneous和MinGW C Linker中使用了-std=gnu1x - &gt;图书馆,我使用wsock32 - mazkopolo