首先,我在c/C++編程中退出了新手,所以也許這只是一個基本錯誤,但我不明白。問題是,我想在一個更大的應用程序中使用libpcap,但是我甚至無法將這個libary集成到一個簡單的HelloWorld.cpp中。 Atm我正在使用Windows(64位)的Eclipse(MinGw編譯器),但如果我的問題無法解決,將會切換到Linux。libpcap的C++不會在windows下編譯
從tcpdump.org下載了「libpcap-1.5.3.tar.gz」,解壓並將Libary的根目錄添加到Eclipse中(在「Properties/C | C++ Build」下面),並將其添加到所有編譯器和MinGW Linker )。 我的代碼:
#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」 來定義,所以我包括這頭到 「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「不存在...
我不敢相信這個受歡迎的文庫被打破,所以我的錯誤在哪裏?提前致謝!
您是否嘗試編譯Wireshark源代碼? WS使用libpcap,它可以用VC++編譯。 – harper
@harper確實如此,但PCap可以自行編譯。 – Qix
@ user3608078你的包含路徑是什麼樣的? – Qix