Don't let boost mangle your lib name

If you use conan to manage Boost libraries, the default boost lib name is libboostxxxx.lib. However, boost system links the lib with tags sometimes. It may cause the linker cannot find libs properly. So it may be necessary to specify the pre-definition to avoid boost mangling the names.

BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, rather than a mangled-name version.

BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the –layout=tagged option. This is essentially the same as the default name-mangled version, but without the compiler name and version, or the Boost version. Just the build options.

BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the –layout=system option. This is essentially the same as the non-name-mangled version, but with the prefix to differentiate static and dll builds

Linyuan Shi
Linyuan Shi
Lecturer

My research interests include non-equilibrium reactive molecular dynamics simulation and first principles computation.