无法使用 Visual C++ 编译器包含某些头文件

标签 c visual-c++ include winsock

您好,我正在使用 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/

相关文章:

c++ - 从数组中向量化提取特定模式的短裤,并插入到新数组中

c - 区分可选参数、路径名或文件? c语言

c - gcc -Wshadow 选项的更细粒度行为

c - GtkLevelBar 方向

c++ - cl.exe发行或调试

c# - GroupJoin 和包含

c - 使用指针从字符串中删除空格

c++ - 让函数指针模板参数接受右值引用是否合法?

android - 可以在 <include> 标签中包含的布局中覆盖/应用样式吗?

c - 在内核中工作时包含错误