【问题标题】:Cygwin - Header not foundCygwin - 找不到标题
【发布时间】:2020-01-16 07:53:22
【问题描述】:

我尝试通过 Makefile 编译某些东西并得到以下错误:

我检查了是否安装了包:

socket.h 不属于 usr/includes/sys

任何提示如何摆脱错误?

编辑: uname -a 输出: CYGWIN_NT-6.1 PC66358 3.1.2(0.340/5/3) 2019-12-21 15:25 x86_64 Cygwin

【问题讨论】:

  • 在询问 cygwin 问题时始终显示来自 uname -a 的输出。
  • 请将代码和输出显示为文本,格式化为代码,而不是图像。
  • 你确定你在运行 Cygwin 的 make 吗?你确定你在运行 Cygwin 的 gcc 吗? which makewhich gcc 输出什么?
  • 谢谢。 which 命令是解决方案。 GCC 指向旧版本,并且 GCC 没有安装在 cygwin 包中。安装 gcc-core,更改 PATH 变量,一切正常。

标签: cygwin


【解决方案1】:

您可能缺少正确的软件包,因为您没有正确使用 cygcheck。 检查哪个包包含文件是:

$ cygcheck -f /usr/include/sys/socket.h
cygwin-devel-3.1.2-1

注意完整路径,包括第一个/ 并验证软件包是否已正确安装,您应该使用:

$ cygcheck -c cygwin-devel
Cygwin Package Information
Package              Version        Status
cygwin-devel         3.1.2-1        OK

您的命令正在询问 Cygwin 网站服务器 在哪里可以找到一些文件

$ cygcheck -p usr/include/sys/socket.h
Found 6 matches for usr/include/sys/socket.h
cygwin-devel-3.0.7-1 - cygwin-devel: Core development files
cygwin-devel-3.1.1-1 - cygwin-devel: Core development files
cygwin-devel-3.1.2-1 - cygwin-devel: Core development files
cygwin32-2.10.0-1 - cygwin32: Cygwin 32bit toolchain
cygwin32-2.6.0-1 - cygwin32: Cygwin 32bit toolchain (installed binaries and supp
ort files)
cygwin32-2.8.2-1 - cygwin32: Cygwin 32bit toolchain

因此,它为您提供cygwin-devel 的当前和旧版本以及 cygwin32 因为它有一个名为

的文件
usr/i686-pc-cygwin/sys-root/usr/include/asm/socket.h

【讨论】:

    猜你喜欢
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多