如何静态编译tshark?

How to static compile tshark?

我用cmake编译了tshark。 我 运行 命令 cmake -DBUILD_wireshark=off; make CFLAGS="-static",然后我在 build/run 中找到 BUILD_wiresharktshark,但它是动态的 link,并且依赖更多 xxx.so.

我该怎么办?谢谢;

我只需要过滤器。可能有最好的方法吗?

已解决! 我使用配置:

./configure --enable-static=yes --enable-wireshark=no --disable-gtktest --enable-shared=no --with-zlib=no -with-gnutls=no --with-krb5=no --with-adns=no --with-geoip=no --with-plugins=no --enable-editcap=no --enable-capinfos=no --enable-mergecap=no --enable-text2pcap=no --enable-idl2wrs=no --enable-dftest=no --enable-randpkt=no --enable-rawshark=no --enable-dumpcap=no --enable-androiddump=no --with-gcrypt=no --with-libsmi=no --without-portaudio --without-lua --disable-glibtestst --with-gtk2=no --with-gtk3=no

但是,很多库在我的 OS(Fedora 32) 上不提供静态版本。

接下来,我构建了很多静态库:c-ares, eudev-1.5, libgcrypt-1.8.7, glib, libnl-3.2.25, libusb

那么,成功了:-).

哦,--enable-dumpcap=no是可选的,因为我不需要抓包。