登录
首页 >  Golang >  Go问答

错误的致命性质:无法远程找到pcap.h文件或目录,码为34 | #include

来源:stackoverflow

时间:2024-02-09 13:27:23 101浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《错误的致命性质:无法远程找到pcap.h文件或目录,码为34 | #include ,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我遇到了这个问题,最常见的解决方案(sudo apt-get install libpcap-dev)对我不起作用。

我在 Mac 上,当我尝试使用 Homebrew 安装它时,它给了我: “警告:没有名称为“libpcap-dev”的可用公式。您是指 libpcap 吗?”

如何在 Mac 上安装 libpcap-dev 及其依赖项或解决该问题?


正确答案


这是 debian 和 debian 衍生的 linux 发行版(例如 ubuntu)的解决方案。如果这是最常见的解决方案,那可能只是因为很多人使用 debian、ubuntu 或其他 debian 衍生产品。

它不太可能在大多数其他 linux 发行版或非 linux 发行版的操作系统上工作,因为它们不使用 apt-get 所依赖的 debian 包管理器。

那么您可能运行的是 macos,而不是 debian,因此 debian 解决方案不适合您。

请注意,如果您在 macos 上安装了 xcode 或命令行编译器工具,那么这应该足以构建使用 libpcap 的软件 - libpcap 与 macos 捆绑在一起,并且其头文件与软件开发工具包捆绑在一起附带 xcode 和命令行编译工具。

例如:

$ cat foo.c
#include 
#include 

int
main(void)
{
    printf("Hello, world!\n");
    return 0;
}
$ cc -o foo -Os -Wall -W foo.c
$ ./foo
Hello, world!

没有“pcap.h:没有这样的文件或目录”错误。

homebrew 是一个包管理器,最初是为 macos 设计的,而不是为 linux 设计的,并且不会产生相同的“库包,它安装允许使用给定库的程序运行所需的内容,还有开发人员”软件包,它安装允许使用给定库的程序进行编译所需的内容”,这是一些 linux 发行版在其软件包中所做的区分。

因此它没有单独的“libpcap”和“libpcap-dev”软件包,它只有一个“libpcap”软件包,用于安装 libpcap 的版本。

安装该软件包意味着您现在拥有两个版本的 libpcap - apple 提供的一个和 homebrew 提供的一个。除非您需要最新版本 libpcap 中的某些功能,而您所使用的 macos 版本附带的版本中没有这些功能,否则不需要这样做。

确保您的 mac 上安装了 xcode 或命令行工具,这样您就不会收到找不到 pcap.h 的错误报告,除非您的程序或程序中存在错误你编译它的方式。如果您遇到这样的错误,请指出您正在编译的内容,并给出该错误消息的上下文,如下所示:

  1. 如果 pcap.h 丢失,那么 clang(apple 在过去几年中随 xcode 提供的 c 编译器)会显示诸如以下内容

    program.c:17:10:致命错误:找不到“pcap.h”文件 #include ^~~~~~~~ 生成 1 个错误。

  2. 我不知道“remote: 34”到底是什么意思,因为“remote”不是 c 或 c++ 或...源文件的名称。

好了,本文到此结束,带大家了解了《错误的致命性质:无法远程找到pcap.h文件或目录,码为34 | #include 》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>