-static
フラグは、リンカが静的ライブラリのみを受け入れ、共有ライブラリを受け入れないようにします。つまり、実行時にダイナミックライブラリに依存する必要はありません。ほとんどの場合、mongocxx
いくつかの依存関係があります。静的リンクを実現するには、ライブラリのアーカイブ(.a)バージョンがシステムに存在する必要があります。
もう1つの考えられる問題は、リンカーコマンドラインでの静的ライブラリの順序が重要であるということです。そのため、さまざまな静的ライブラリに依存している場合にも問題になる可能性があります。リンカは、コマンドラインにある順序でライブラリを処理し、各静的ライブラリから、必要なシンボルのみをプルします(リンカがその時点で持っているのと同じ量の情報を使用)
nm を使用します 。シンボル名が表示されます。