The <local-visibility>hidden requirement in the global project requirements here
causes the following warnings when trying to build Boost:
error: No best alternative for /C:/boost-git/master/libs/histogram/install-libraries-shared with <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <boost.beast.allow-deprecated>on <boost.beast.separate-compilation>on <boost.cobalt.executor>any_io_executor <boost.cobalt.pmr>std <context-impl>fcontext <coverage>off <debug-store>object <debug-symbols>off <doxygen.doxproc.index>no <doxygen.processor>xsltproc <embed-manifest-via>linker <embed-manifest>on <exception-handling>on <extern-c-nothrow>off <format>html <inlining>full <known-warnings>hide <link>static <midl-robust>yes <midl-stubless-proxy>yes <optimization>speed <os>NT <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>3.9 <relevant>target-os <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-msvc:version>14.5 <toolset>msvc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <windows-api>desktop <x-deduced-platform>x86_64
no match: <local-visibility>hidden
no match: <local-visibility>hidden <target-os>windows
no match: <local-visibility>hidden <target-os>cygwin
I have no idea why, but when I remove it, the errors disappear.
I don't know why this requirement is even there; the library is header-only. Can it be removed? Or failing that, moved to test (if it's needed there for some reason.)
As a general rule global project requirements should be avoided, because they apply to all targets, which is rarely what one wants. It would be cleaner if the project in build.jam was just
project /boost/histogram ;
and the requirements were moved to test (and example if appropriate.)
The
<local-visibility>hiddenrequirement in the global project requirements herehistogram/build.jam
Line 28 in 40add38
causes the following warnings when trying to build Boost:
I have no idea why, but when I remove it, the errors disappear.
I don't know why this requirement is even there; the library is header-only. Can it be removed? Or failing that, moved to
test(if it's needed there for some reason.)As a general rule global project requirements should be avoided, because they apply to all targets, which is rarely what one wants. It would be cleaner if the project in
build.jamwas justand the requirements were moved to
test(andexampleif appropriate.)