【发布时间】:2017-10-28 12:50:57
【问题描述】:
您好,我想在C 中构建一个适用于 Windows 的应用程序,我在 linux 中编程并使用 gcc 和 mingw-w64 编译代码。
我尝试了一个带有输出和输入的简单程序,它在 Windows 上运行良好。
但是,我想使用套接字连接到服务器。
于是我在google上搜索,找到了这个教程http://beej.us/guide/bgnet/output/html/multipage/intro.html#audience
它说在 windows 中我们需要包含 winsock 并运行一些命令
所以我做了:
#include <winsock.h>
int main(void)
{
WSADATA wsaData;
printf("Hello! This is a test prgoram.\n");
if (WSAStartup(MAKEWORD(1,1), &wsaData) != 0) {
fprintf(stderr, "WSAStartup failed.\n");
}
}
但是当我尝试编译它时,我得到:
对 `__imp_WSAStartup' 的未定义引用 collect2:错误:ld 返回 1 个退出状态
在命令行中我运行的是:
x86_64-w64-mingw32-gcc try.c -o a.exe
那我该怎么办?
如果我在 linux 中编译,我不需要 winsock 库吗?
如何解决这个问题?
谢谢
【问题讨论】: