I am compiling HPX (a high performance computing library) in macos and it uses Boost. I am using clang 10 with meson as the build system. Using nm to dump the library and the application binary to inspect the symbols, I found that there is a one letter difference between them. The application that I am building, as the beginning of my learning path, is the HPX hello world example in the official documentation.
In libboost_filesystem-mt.dylib
the symbol is
__ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEjPNS_6system10error_codeE
and in the application it is
__ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEPNS_6system10error_codeE
The only difference is a j
character added after the path
part of the mangled name in libboost_filesystem-mt.dylib
. Why does this happen and what can I do about it? It is beyond my knowledge and any help will be profoundly appreciated. Thanks.