2011-02-05 43 views
3

我遵循foo解剖器的例子,但想知道如何編譯它。如何編譯這個插件?

foo的解剖例子在這個環節上圖所示: http://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html

你會發現它提到互連目錄中包含的支持文件,我可以用很好的例子,而我需要修改Makefile.am &的makefile .common等 我修改了這些以反映foo模塊。

但是,現在我想知道如何構建它。我試過運行automake,但它抱怨那裏沒有configure.in。對不起,我對gnu編譯環境不太熟悉。

另外,是否有可能建立這個模塊獨立?還是我需要所有其他wireshark來源?我當然在ubuntu下安裝wireshark-dev。

回答

1

回答我自己的問題。

看起來我必須遵循Wireshark源代碼中包含的指示。 即doc/README.plugins

提供構建Wireshark插件所需的所有信息。

+3

注意,Wireshark的構建是如何使用自動工具(或者,也許它是如何徹底殺豬一個很好的例子,一個可怕的例子自動工具)。作爲一個實用的提示,你可能想完全避免它們的啓動並運行autoreconf。 (這會構建configure.in併爲你運行automake。) – 2011-02-07 15:21:27

5

我通過README.plugins手續去了,在這裏我已經有了:

1)在plugins目錄,

  • Custom.m4.example重命名爲Custom.m4
  • 定製。 make.example到Custom.make
  • Custom.nmake.example到Custom.nmake

2)重命名所有的foo出現在這些文件到您的協議名稱

3)進入頂級Wireshark的目錄並運行AUTOGEN和配置爲根

./autogen.sh 
./configure 

邊注:請確保沒有在這些步驟沒有任何警告或錯誤。要編譯你的插件正確地從獅鷲插件複製下列文件到新創建的協議文件夾與源文件一起,並用你的協議名稱替換所有的獅鷲出現

  • 作者
  • 複印
  • 更新日誌
  • CMakeLists。 TXT
  • Makefile.am
  • Makefile.common
  • Makefile.in
  • Makefile.nmake
  • moduleinfo.h
  • moduleinfo.nmake
  • 插件。Ç
  • plugin.rc.in

4)編譯使用下面的命令插件。執行make install以防萬一

make -C plugins 
make install 

5)最後又用下面的命令

WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 ./wireshark 

6)運行的Wireshark如果一切順利,你會看到在關於Wireshark的,插件標籤插件上市。首先,我在插件版本方面遇到了一些麻煩。包括以下行的#include「config.h中的」後固定它:

#include "moduleinfo.h"