-static
флаг принуждава линкера да приема само статични библиотеки, а не споделени библиотеки. С други думи, не изисква зависимост от динамични библиотеки по време на изпълнение, за да работи. Най-вероятно mongocxx
има някои зависимости. За постигане на статично свързване е необходимо архивните (.a) версии на вашите библиотеки да съществуват в системата.
Друг възможен проблем е, че редът на статичните библиотеки в командния ред на линкера има значение, така че това също може да е проблем, ако има зависимост от различни статични библиотеки. Линкерът ще обработи библиотеките в реда, в който са в командния ред, и от всяка статична библиотека ще изтегли само онези символи, които са необходими (с толкова информация, колкото има линкерът към този момент)
Използвайте nm . Това ще ви даде имената на символите.