2011-06-12 653 views
3

我是Visual Studio的初学者,现在我想在其上运行一个C++程序,但是当我编译该程序时出现<sys/select.h>未定义的错误。如何在Visual Studio C++项目中包含<sys/select.h>库?

那么,我该如何定义它或将其包含在项目中?

+4

“sys/select.h”是UNIX标头。你需要找到Windows的等价物,你可以包含它没有任何问题。 – 2011-06-12 12:39:31

+0

Windows的等价物是[WinSock2.h](https://msdn.microsoft.com/en-us/library/ms740141%28v=vs.85%29.aspx) – 2017-12-20 16:17:09

回答

6

sys/select.h是POSIX标头,支持select(); equivalent on Win32只适用于套接字,因此除非您已经熟练移植,否则您不太可能在Windows上获得代码。

+0

重点是我没有使用套接字,但是我现在有一个代码profram的代码,我的任务是修改它的一些类不是整个项目,所以我不处理这个头文件或select(),但它必须被定义为只运行整个项目,但我不会处理这个项目的这个部分 – fank 2011-06-12 12:43:25

+0

我的答案依然存在。 – 2011-06-12 12:44:52

3

sys目录中的头文件(不是库)是系统特定的 - 你不能只使用它们的代码并在一个平台上工作并在另一个平台上编译它。并且请注意,在目标平台上可能没有等效物 - 您可能必须重新编写依赖于sys头文件的代码。

+0

重点是我没有使用套接字,但我现在有一个程序的代码,我的任务是修改一些类上它不是整个项目,所以我不处理这个头文件,但它必须定义为运行整个项目,但我不会处理这个项目的这部分 – fank 2011-06-12 12:45:20

+0

@fank如果代码不使用套接字,那么你可能不需要头文件 - 只要删除#include。 – 2011-06-12 12:52:10

+0

我没有使用套接字,或者我可以说在程序中有套接字,但我没有在工作,我的工作是在项目的另一部分,但我必须定义它们能够运行整个项目 – fank 2011-06-12 13:15:35

相关问题