1

我正在尝试编译一个给我的示例 c 文件,但不幸的是,它缺少几个库,因为某些包含文件找不到它们。即:stropts.h、netdb.h、sys/socket.h、sys/ioctl.h、netinet/in.h、pthread.h、unistd.h。

我研究了哪里可以解决这些问题,但奇怪的是,这个问题几乎没有结果。在我找到这些库之前,Visual Studio 命令提示符无法编译它。我需要下载/链接来解决这个问题吗?

4

1 回答 1

4

这些头文件不是标准 C 或 C++ 的一部分。不要尝试从其他来源下载标头;即使您可以编译它们,它们也不会正确链接,因为您没有在静态库或 DLL 中声明的函数的实现。

简单的事实是,您尝试编译的代码是为 Unix/类 Unix 系统编写的,它不能移植到 Windows。您需要大量重写代码以使用等效的 Windows 功能或第三方平台独立库(例如用于套接字的 Winsock 或 Boost 套接字),在 Unix 系统上编译它(如果您可以使用虚拟机想要),或使用 Unix 兼容层,例如 Cygwin。

于 2012-08-13T18:20:16.133 回答