Code from nghttp2 library ( https://github.com/tatsuhiro-t/nghttp2) Thanks for Tatsuhiro Tsujikawa for permission to use nghttp2 lib. Update library from source download (clone) last release of nghttp2 and in folder epan/nghttp2 copy following file cp ../../../nghttp2/lib/nghttp2_buf.[ch] . cp ../../../nghttp2/lib/nghttp2_hd*.[ch] . cp ../../../nghttp2/lib/nghttp2_helper.[ch] . cp ../../../nghttp2/lib/nghttp2_int.h . cp ../../../nghttp2/lib/nghttp2_mem.[ch] . cp ../../../nghttp2/lib/nghttp2_rcbuf.[ch] . cp ../../../nghttp2/lib/includes/nghttp2/nghttp2.h . cp ../../../nghttp2/lib/includes/nghttp2/nghttp2ver.h . Change path to nghttp2.h find . -name "nghttp2*" -type f -exec sed -i 's///g' {} \; Change path to nghttp2ver.h find . -name "nghttp2*" -type f -exec sed -i 's//"nghttp2ver.h"/g' {} \; Change ntoh[ls], hton[ls] to use g_ntoh[ls], g_hton[ls] from glib find . -name "nghttp2*" -type f -exec sed -i 's/ntoh/g_ntoh/g' {} \; find . -name "nghttp2*" -type f -exec sed -i 's/hton/g_hton/g' {} \; Use glib.h and not nghttp2_net.h for ntoh/hton find . -name "nghttp2*" -type f -exec sed -i 's/"nghttp2_net.h"//g' {} \; Fix c++-compat error and documentation (struct => typedef) error Rename free function to free_func in nghttp2_mem.[ch] to avoid shadowing standard C free() function from stdlib.h In nghttp2/nghttp2.h Add on the top #include After #define NGHTTP2_EXTERN #endif /* !defined(WIN32) */ Add /* * When we're building this as part of Wireshark, we want to treat * all these routines as internal to libwireshark. */ #include "ws_symbol_export.h" #undef NGHTTP2_EXTERN #define NGHTTP2_EXTERN WS_DLL_LOCAL