我有一个用 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 编译它?
答案 0 :(得分:3)
-lWs2_32
是一个链接器选项,用于指定要链接的库。编译器不使用它。
对于Linux下的gcc,使用套接字函数时无需显式指定库。
答案 1 :(得分:-1)
我认为你应该静态链接可执行文件并使用MinGW。但这只是一个假设。没试过。
答案 2 :(得分:-1)
-lWs2_32是一个链接器选项,用于指定要链接的库。编译器不使用它。
对于Linux下的gcc,使用套接字函数时无需显式指定库。