posts - 27,  comments - 68,  trackbacks - 0

今天尝试用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 阅读(2760) 评论(4)  编辑 收藏 引用 所属分类: 错误处理

FeedBack:
# re: 如何用Visual Studio 2005编译Wireshark的插件
2009-04-25 14:49 | yafare
为什么不用静态链接呢?  回复  更多评论
  
# re: 如何用Visual Studio 2005编译Wireshark的插件
2009-04-26 18:09 | zealsoft
@yafare
简单地在插件工程的makefile中添加选项改为静态链接是不行的,因为要引用Wireshark内部的库,而那些库是动态的。曾经考虑过不引用Wireshark的库看是否可以,但是还没有尝试过。
  回复  更多评论
  
# re: 如何用Visual Studio 2005编译Wireshark的插件
2009-11-30 21:43 | xie cola
处理过以后还需要2005的运行库吗?
我用这种方法的时候操作的时候,报了个错,general error c1010070: Failed to load and parse the manifes 0v~
郁闷~  回复  更多评论
  
# re: 如何用Visual Studio 2005编译Wireshark的插件
2009-11-30 21:57 | xie cola
我试了下,装了运行库以后,可以正常运行的,我没有进行mt的处理。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


欢迎访问我的学术博客

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(13)

随笔分类(28)

随笔档案(27)

搜索

  •  

积分与排名

  • 积分 - 56670
  • 排名 - 391

最新评论

阅读排行榜

评论排行榜