Цель, которую вы строите BOF-debug-static
, очевидно, требует
либо полностью статическая связь с опцией -static
, либо, возможно, такая, которая
запрашивает статическое связывание, в частности, libxlnt
, с опцией связывания, такой как:
-Wl,-Bstatic -lxlnt -Wl,-Bdynamic
Поскольку, как вы заметили, libxlnt
по умолчанию предоставляет только разделяемую / динамическую библиотеку libzlint.so
(-> libzlint.so.X.Y.Z)
,
и без статической библиотеки libzlnt.a
, компоновщик игнорирует общую библиотеку, когда
требуется статически связать -lxlnt
и говорит:
/usr/bin/ld: cannot find -lxlnt
Вы не можете связать совместно используемую библиотеку статически.
Однако, если вы конфигурируете систему сборки CMake с:
cmake -DSTATIC=ON [your previous options...]
затем make
создаст статическую библиотеку, а при запуске make install
(с правами root) будет создан /usr/local/lib/libxlnt.a
.