今天嘗試用Visual Studio 2005編譯以前用Visual Studio 2003編譯成功過的一個Wireshark插件,生成后發現居然無法在官方的Wireshark中加載插件。在 KenThompson的“Creating Your Own Custom Wireshark Dissector”一文中提到使用Visual Studio 2005編譯生成的插件只能在使用Visual Studio 2005生成的Wireshark版本中測試。使用自己采用Visual Studio 2005生成的Wireshark版本測試,發現確實可以,而官方的就不行了。使用Dependency Walker看了看,發現使用Visual Studio 2005生成的DLL文件需要使用MSVCR80.DLL,而官方的Wireshark使用的是MSVCRT.DLL,兩者不兼容,所以會出現錯誤。在微軟的網站上可以找到解決的方法:
mt.exe –manifest MyLibrary.dll.manifest -outputresource:MyLibrary.dll;2
將這樣處理后的DLL再拷貝到官方的Wireshark的插件目錄中就可以了。不過采用Visual Studio 2005生成的插件要分發時必須同時分發Visual Studio 2005的C語言運行庫,看來不如Visual Studio 2003方便。
posted on 2009-04-24 23:26
zealsoft 閱讀(2798)
評論(4) 編輯 收藏 引用 所屬分類:
錯誤處理