您好,我正在使用 C 进行 Winsock 编程。我相信,为了让我访问(或与 Winsock 相关的任何其他头文件)头文件,我必须安装 Visual C++ 2010 并将其设置为我的默认编译器。所以我下载了它,并在 CodeBlocks 中将其设置为我的编译器。我运行一些 Winsock 代码并收到以下消息:
C:\Users\Jared\Documents\Test.c|6|fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory|
我还收到此消息,因为包含“winsock.h”和“windows.h”。这与Visual C++编译器有关。我尝试安装 Visual C++ 2008 并将其用作我的编译器并收到相同的消息。然后我读到我必须安装微软的SDK。我下载并安装它,但出现错误,提示我无法安装它(这是 .Net Framework 4.0 版本)。然后我尝试了 3.5 版本,它安装得很好,但我的编译器仍然找不到头文件。我有 .net Framework 4.0,所以我没有看到这个问题。我还了解到,我必须通过转到“工具”>“选项”>“项目和解决方案”>“VC++ 目录”在 Visual C++ 中包含一些头文件,并且收到以下消息:
"VC++ Directory editing in tools > options has been deprecated."
Visual C++ 2010 不再支持此功能。有谁有解决方案或可以帮助我解决这个问题吗?
长话短说:我无法使用 Visual C++ 2010 编译器包含“winsock.h”、“winsock2.h”或“windows.h”。
感谢所有帮助。
最佳答案
在 Visual C++ 2010 中,建议使用属性表而不是这种全局目录设置编辑。您需要编辑 AppData 文件夹中的用户设置属性表(可能是 Microsoft.Cpp.Win32.user.props
)。您可以通过“属性管理器”在 UI 中通过“ View ”->“属性管理器”并浏览该工作表来完成此操作。
但是,我认为如果安装正确,您应该在“包含目录”中包含 $(WindowsSdkDir)include
。
关于无法使用 Visual C++ 编译器包含某些头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838552/