I am trying to compile a simple c++ program that calls some functions from the NDPI C library. When compiling using the shared library (.so file) it can't find some of the functions in the library (like set_ndpi_flow_malloc) but seems to be able to find another function called set_ndpi_malloc.
Note: I believe the functions it can't find were newly added to the library when it updated from version 1.8 to 2.0, but the library files I am using were all compiled from source of version 2.0.
Strangely when I compile using the static library (.a) it has no problem finding these functions.
See the image linked above to see the compiler output each time and the code. The two compile attempts were made within a minute of each other and nothing was changed except for one line in the makefile to compile with the static library instead of the shared library.
Update
This has been identified as an issue with the library not exporting all the symbols.
See the issue on github here: https://github.com/ntop/nDPI/issues/459