epan 目录中缺少 libwireshark.def
Missing libwireshark.def in epan directory
我已经为 wireshark 创建了一个简单的插件解析器。构建仅针对我编写的解析器给出 LNK2001 错误。常见的解决方案建议将这些函数添加到 epan 文件夹中的 libwireshark.def 文件中。但是,这个文件根本不存在。我应该怎么做才能解决这个问题。
这是给定错误消息的一部分:
'''error LNK2001: 未解析的外部符号__imp_prefs_register_uint_preference
1>数据包-test.obj:错误 LNK2001:无法解析的外部符号 __imp_proto_register_field_array
'''
Wireshark 开发人员在几年前改变了这一点。如果您需要调用另一个当前未导出的解析器中的函数,过去的解决方案是将该函数名称添加到 libwireshark.def。现在,您需要做的是编辑声明函数的 .h 文件( 而不是 包含实现的 .c 文件)。将 WS_DLL_PUBLIC 添加到包含您希望插件可用的函数的行的开头。如果还没有,请添加:
#include "ws_symbol_export.h"
接近文件顶部。
我已经为 wireshark 创建了一个简单的插件解析器。构建仅针对我编写的解析器给出 LNK2001 错误。常见的解决方案建议将这些函数添加到 epan 文件夹中的 libwireshark.def 文件中。但是,这个文件根本不存在。我应该怎么做才能解决这个问题。
这是给定错误消息的一部分:
'''error LNK2001: 未解析的外部符号__imp_prefs_register_uint_preference 1>数据包-test.obj:错误 LNK2001:无法解析的外部符号 __imp_proto_register_field_array '''
Wireshark 开发人员在几年前改变了这一点。如果您需要调用另一个当前未导出的解析器中的函数,过去的解决方案是将该函数名称添加到 libwireshark.def。现在,您需要做的是编辑声明函数的 .h 文件( 而不是 包含实现的 .c 文件)。将 WS_DLL_PUBLIC 添加到包含您希望插件可用的函数的行的开头。如果还没有,请添加:
#include "ws_symbol_export.h"
接近文件顶部。