天天看點

vc6.0配置Wincap環境以相關問題解決方案vc6.0配置Wincap環境

vc6.0配置Wincap環境

這個主要是想記下了,網上很多這樣的内容,自己做了可能更适合自己。今天給大四大學生調畢設,用到了wincap環境,編譯就會報錯,苦于在外地不能用自己機器,就必須自己動手配置。

簡單配置如下:

我從wincap官網下載下傳開發包WpdPack_4_1_2.zip包,解壓後将裡面的include和lib兩個目錄全部複制到vc6.0的安裝目錄下,VC安裝預設路徑是:C:/Program Files/Microsoft Visual Studio/VC98(其中已經有了預設的MS的庫和頭檔案),那麼這樣也就省去了配置vc6.0的include和lib環境變量了。

測試配置是否成功:

最簡單的一段代碼

#include "stdio.h"
#include "pcap.h"    // wincap核心檔案

int main(void)
{
	printf("OK!/n");
	return 0;
}
           

結果報錯了:

c:/program files/microsoft visual studio/vc98/include/pcap-stdinc.h(79) : error C2054: expected '(' to follow '_W64'

出現問題原因:_W64是一個相容性的問題,就是32位和64位的相容而設計的,這篇文檔http://msdn.microsoft.com/en-us/library/s04b5w00(VS.71).aspx給出了解決辦法。找到剛才複制到vc安裝路徑下的pcap.h檔案(不是pcap下面的pcap.h檔案)中添加如下代碼:

#define _W64     // 添加這一句
#include <pcap/pcap.h>
           

常出現的問題還有:

1、包含了#include "remote-ext.h"後出現:fatal error C1189: #error : Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h錯誤。定位出錯位置:

#ifndef HAVE_REMOTE
#error Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h
#endif
           

解決辦法:

在VC6.0設定中的C/C++裡 C預處理程式定義裡加上 HAVE_REMOTE,WINCAP就OK了。

vc6.0配置Wincap環境以相關問題解決方案vc6.0配置Wincap環境

好了現在就遇到這些問題,再遇到我再加進去