0

Windows 7 で Dev C++ と WinPcap (開発者パック) を使用しています。Dev c++ は明らかに pcap.h を見つけることができません。プロジェクト オプションに /include/ ディレクトリを含めても、コンパイル時に "pcap.h: no such file or directory." というエラーが表示されます。(他の多くのエラーとともに)。これが私のコードです:

#include <stdlib.h>
#include <stdio.h>
#include <pcap.h>

int main(int argc, char **argv)
{
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
u_char packet[100];

    return 0;
}

シンプルにしました。私はもともと Visual Studio (C++) で作業していましたが、Visual C++ でコンパイルされたコードを配布するには、ターゲット システムに Microsoft C ランタイム ライブラリをインストールする必要があります。最終的な実行可能ファイルを配布して、どのマシンでも動作させたいだけです。

コンパイラに与えられたコマンドラインを確認しました。-I [path] オプションがありました私が見逃しているものはありますか?

補足として: 上記のコードを g++ (dev c++ インストール ディレクトリから) でコンパイルしたところ、正しくコンパイルされました。しかし、リンクしようとすると、実行可能ファイルが作成され、実行中にクラッシュしました。

4

1 に答える 1

1

あなたの質問は少し不明確ですが、あなたのサイドノートは、これをコンパイルできるかのように聞こえます (つまり、pcap.hヘッダーが見つかりました)。問題はリンクにあります。

ライブラリの検索パスにディレクトリを追加するには、 を含む実際のディレクトリは-LPATHwhereを使用します。実際にリンクに追加するには、リンカー呼び出しで使用します。PATHlibpcap-lpcap

$ g++ -o main -LPATH main.o -lpcap
于 2011-09-26T18:42:27.713 に答える