You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The OpenAssetIO C library depends on the C++ library, which in turn
depends on the C++ standard library. If the C++ standard library cannot
be found in the linker's search paths, then linking will fail.
In particular, on Linux this means that libstdc++ must be discoverable.
On many system layouts, including CI, this hasn't been a problem,
presumably because libstdc++ happens to be in the default search paths
added by `gcc`.
However, `gcc` (as opposed to `g++`) does not explicitly add the
location of libstdc++ to the search paths. So on some system layouts (in
particular, on my local setup using a Conda sandbox environment) linking
via `gcc` will fail.
The correct thing to do seems to be to inform CMake that C++-style
linking is required, so that linking is performed via `g++`, rather than
`gcc`. Compilation of the C code still happens using `gcc`, but linking
is performed via `g++`.
Signed-off-by: David Feltell <[email protected]>
0 commit comments