Visual Studio 2019 x64 上的 FLTK,“无法打开包含文件:‘dirent.h’:没有这样的文件或目录

问题描述

我在 Visual Studio Community 2019 中使用 FLTK 库并且构建我的 x86 应用程序工作正常。现在,我想为 x64 构建它。但是,我收到错误“无法打开包含文件:'dirent.h':没有这样的文件或目录。”。

错误发生在名为“filename.H”的文件中。此头文件随 FLTK 库一起提供。

有没有人知道我该如何解决这个问题?

更新:

无法识别 dirent.h 库,因为它是一个 C POSIX 库,如下面的链接中所述。但是,问题仍然存在,即我该如何解决这个问题?

<dirent.h> in visual studio 2010 or 2008

上面的链接指的是带有替代 dirent.h 文件链接。我试图在我的项目中包含这个文件,但是,现在发生了另一个错误。这些错误发生在文件 Fl_Native_File_Chooser.H 中。类型说明符 fl_OPENFILENAMEW 和 fl_broWSEINFOW 在此文件中未知。

解决方法

在 Windows 上,dirent.h 不应包含在 FLTK 代码中。即使是 64 位,在使用 FLTK 库 (https://www.fltk.org/doc-1.3/preface.html) 时也必须定义 WIN32。如果您在代码的开头定义 WIN32,或者在 Visual Studio 项目属性中添加 WIN32,那么您的问题可能会得到解决 - C/C++ - Preprocessor - Preprocessor Definitions,在 x64 平台。

,

我创建 x64 解决方案的方式是

  1. 打开ide\VisualC2010\fltk.sln
  2. 如果您使用的是其他版本的 Visual Studio,请让它进行转换。
  3. 将解决方案配置更改为调试(不知何故,Visual Studio 始终默认为调试开罗)
  4. 点击解决方案平台并选择配置管理器
  5. 当配置管理器出现时,在活动解决方案平台下选择新建
  6. 出现下一个对话框时,在类型或选择新平台下选择x64
  7. 点击确定等关闭窗口
  8. 现在将解决方案平台更改为 x64 并开始构建。

您不应收到任何 dirent.h 错误。