gpt4 book ai didi

带有libpcap的c++无法在Windows下编译

转载 作者:可可西里 更新时间:2023-11-01 10:46:22 38 4
gpt4 key购买 nike

首先,我退出了 c/c++ 编程新手,所以这可能只是一个基本错误,但我不明白。问题是,我想在更大的应用程序中使用 libpcap,但我什至无法将库集成到简单的 HelloWorld.cpp 中。 Atm 我在 Windows 64 位上使用 Eclipse(MinGw 编译器),但如果我的问题无法解决,我会考虑切换到 Linux。

从 tcpdump.org 下载“libpcap-1.5.3.tar.gz”,提取 Libary 的根目录并将其添加到 Eclipse(在所有编译器和 MinGW 链接器的“Properties/C|C++ Build”下) .我的代码:

#include <iostream>
#include <pcap.h>
#include <stdio.h>
using namespace std;

int main(int argc, char *argv[]) {
cout << "Hello World!!!" << endl; // prints Hello World!!!
char *dev = argv[1];

printf("Device: %s\n", dev);
return(0);
}

第一个错误:

D:\Tools\MinGW\lib\libpcap/pcap-stdinc.h:49:22: fatal error: bittypes.h: No such file or directory

所以我将第 49 行从

#include "bittypes.h"

#include <Win32/Include/bittypes.h>

(bittypes.h 的实际位置)并弹出下一个错误:

D:\Tools\MinGW\lib\libpcap/pcap/pcap.h:451:1: error: 'Adapter' does not name a type

“适配器”在“pcap-int.h”中定义,因此我将此 header 包含在“pcap.h”中,但现在我得到:

D:\Tools\MinGW\lib\libpcap/pcap-int.h:46:22: fatal error: Packet32.h: No such file or directory compilation terminated.

并且这个“Packet32.h”不存在...

我无法相信这个流行的图书馆已经坏了,那么我的错误在哪里?提前致谢!

最佳答案

The Problem is, I want to use libpcap in a bigger application, but i can't even integrate the libary into a simple HelloWorld.cpp. Atm I'm using Eclipse (MinGw Compiler) with Windows

如果您想在 Windows 上使用 libpcap,您需要一个已移植到 Windows 的 libpcap 版本。 libpcap 源代码不会在 Windows 上构建;在 UNIX 上,libpcap 可以并且确实使用操作系统内置的数据包捕获机制,但它在 Windows 上不这样做(一方面,至少旧版本的 Windows 没有内置数据包捕获机制!),因此它还需要一个驱动程序。

libpcap 到 Windows 的一个端口是 WinPcap ;它包括必要的驱动程序。如果安装 WinPcap,然后下载 WinPcap developer's pack并安装它,应该可以配置 Eclipse,以便可以使用 WinPcap 构建您的程序。

关于带有libpcap的c++无法在Windows下编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23495356/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com