我想使用TShark源文件来剖析C++中的消息(例如rrc 3消息)。我已经完成了以下步骤:
wireshark-2.6.6.tar.xz并转到解压文件夹。sudo ./configure --prefix=/home/***/build/sudo make -j 8sudo make install (在此之后,我有一个构建文件夹,包含bin、include、lib和共享文件夹)。在这些步骤之后,似乎每件事情都应该是正常的,但是我对大约70个函数的引用没有定义,我认为应该在步骤5中添加一些其他库。
我的代码(tshark.c)的一部分如下:
...
...
...
static int
real_main(int argc, char *argv[])
{
...
initialize_funnel_ops();
return exit_status;
}
int
main(int argc, char *argv[])
{
return real_main(argc, argv);
}
...
...
...initialize_funnel_ops()函数在/build/include/wireshark/epan/funnel.h中提供了以下错误:
error: undefined reference to `initialize_funnel_ops'这个错误也适用于其他一些功能。
那我该怎么解决呢?我应该增加一个新的图书馆吗?还是我在添加库和路径时犯了错误?
发布于 2019-02-25 14:11:45
顶级Wireshark CMakeLists.txt文件应该帮助您了解tshark需要哪些库和文件。其中一个依赖项是${TSHARK_TAP_SRC},它包括${CMAKE_SOURCE_DIR}/ui/cli/tap-funnel.c,tap-funnel.c是定义initialize_funnel_ops()的文件。
https://stackoverflow.com/questions/54860540
复制相似问题