win7環境下wireshark編譯環境搭建

主要參考

https://wenku.baidu.com/view/854c986d011ca300a6c39081.html

編譯環境

WIN7,wireshark1.9.0,VS2010,Python2.7

自己搭建環境過程中遇到的問題

問題一

描述:
E:\wireshark\wireshark-1.9.0>nmake -f Makefile.nmake verify_tools
Makefile.nmake(10) : fatal error U1052: 未找到文件“win32.mak”
Stop.
原因:
wireshark 在Windows下的編譯需要/include目錄中的win32.mak文件,沒有的話需要安裝。

問題二

描述:
‘bash’ 不是內部或外部命令,也不是可運行的程序或批處理文件。
原因:
cgywin環境變量沒有設置 在path環境變量中加入cygwin\bin路徑, 例如: C:\cygwin\bin

問題三

描述:
Can’t find: bison flex perl unzip wget
原因:
下載cygwin安裝包時,沒有選擇一些需要的安裝包

問題四

描述:
Assembling: contrib/masmx86\match686.asm
rc /dWIN32 /r /fozlib1.res win32/zlib1.rc
‘rc’ 不是內部或外部命令,也不是可運行的程序
或批處理文件。
NMAKE : fatal error U1077: “rc”: 返回代碼“0x1”
Stop.
NMAKE : fatal error U1077: “”D:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\bin\nmake.exe””: 返回代碼“0x2”
Stop.
原因:
rc.exe是在Microsoft SDKs目錄下的Bin文件,從錯誤命令看,肯定是環境變量沒有設置。Microsoft SDKs的環境變量沒有設置,rc.exe在該目錄下 D:\Program Files\Microsoft SDKs\Windows\v7.0\Bin

問題五

描述
正在創建庫 zdll.lib 和對象 zdll.exp
LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞
NMAKE : fatal error U1077: “”D:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\bin\link.EXE””: 返回代碼“0x463”
Stop.
NMAKE : fatal error U1077: “”D:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\bin\nmake.exe””: 返回代碼“0x2”
Stop.
原因
查看計算機是否爲64bit操作系統,如是,繼續如下操作。
查找是否有兩個cvtres.exe。
C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
右鍵屬性—詳細信息, 查看兩者版本號,刪除/重命名較舊的版本。
我是用Microsoft.NET目錄下的替換了Microsoft Visual Studio 10.0目錄下

問題六

描述
bash -o igncr tools/textify.sh “./COPYING” wireshark-gtk2
tools/textify.sh: line 50: u2d: command not found
NMAKE : fatal error U1077: “C:\cygwin\bin\bash.EXE”: 返回代碼“0x7f”
Stop.
原因
Linux環境中,典型的沒有找到u2d時的錯誤提示,在該問題中,肯定是cygwin環境中沒有安裝u2d這個bin文件。cygwin裏沒有安裝u2d工具,需要安裝Utils/dos2unix 包,重新運行Cygwin setup.exe,找到需要的包,並安裝

編譯dll插件時,遇到的問題

問題一
描述
e:\wireshark\wireshark-1.9.0\epan\except.h(96) : error C2054: 在“WS_MSVC_NORETU
RN”之後應輸入“(”
e:\wireshark\wireshark-1.9.0\epan\except.h(96) : error C2085: “except_rethrow”
不在形參表中
e:\wireshark\wireshark-1.9.0\epan\except.h(97) : error C2082: 形參“WS_MSVC_NORE
TURN”的重定義
e:\wireshark\wireshark-1.9.0\epan\except.h(97) : error C2143: 語法錯誤 : 缺少“;
”(在“類型”的前面)
….
….
原因
去掉.c文件中的宏定義
#ifdef HAVE_CONFIG_H  
#include "config.h"  
#endif
問題二

描述
packet-hbllrp.c(968) : error C2220: 警告被視爲錯誤 - 沒有生成“object”文件
packet-hbllrp.c(968) : warning C4113: “int (__cdecl )(tvbuff_t ,packet_info *
,proto_tree *)”和“new_dissector_t”的參數列表不同
NMAKE : fatal error U1077: “”D:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\bin\cl.EXE””: 返回代碼“0x2”
Stop.
原因
修改vc的告警級別,可以解決此問題。
右擊選擇屬性->配置屬性->c/c++->常規,將“警告視爲錯誤”的選項改爲“否”

其他注意事項

nmake -f Makefile.nmake setup
是下載編譯過程中所需要的庫文件,裏面有一個WIRESHARK_LIB_DIR變量,需要設置成之前下載的lib包的路徑,否則會自動從國外網站上獲取,速度很慢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章