如何用linux中的windows套接字编译程序?

时间:2014-02-25 16:18:20

标签: c linux windows sockets gcc

我有一个用 C 编写的程序,该程序使用以下库:

#ifdef _WIN32
#include <winsock2.h>
#define socklen_t int
#else
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

Windows 中,为了使用 gcc 编译此程序,您必须使用-lWs2_32属性。

如何使用 linux中的gcc 编译它?

3 个答案:

答案 0 :(得分:3)

-lWs2_32是一个链接器选项,用于指定要链接的库。编译器不使用它。

对于Linux下的gcc,使用套接字函数时无需显式指定库。

答案 1 :(得分:-1)

我认为你应该静态链接可执行文件并使用MinGW。但这只是一个假设。没试过。

答案 2 :(得分:-1)

-lWs2_32是一个链接器选项,用于指定要链接的库。编译器不使用它。

对于Linux下的gcc,使用套接字函数时无需显式指定库。