この警告を読んだ後でも、静的にリンクされたライブラリとして TBB を使用したいとします。(ユーザーが独自の dylib を作成することを許可されていない環境で作業しているふりをします。) しかし、TBB メイクファイルを書き直して、libtbb.dylib の代わりに libtbb.a を生成したくはありません。
同じエントリ ポイントで libtbb.dylib を libtbb.o に変換する簡単なコマンド ラインの方法はありますか?
静的から動的への逆方向への移行は不可能であるという良い議論を聞いたことがあります。つまり、動的ライブラリは PIC である必要があり、非 PIC 静的ライブラリを PIC に変換することはできません。しかし、私の知る限り、その議論は他の方向には当てはまりません。
Windows で .dll を .a に変換することは不可能だと言っている人がいますが、.dll または .exe を元の .o ファイルに戻すことは不可能であると言っているだけであり、必ずしも不可能だと言っているわけではありません。同じ内容のリンク可能な .o ファイルを作成します。また、Windows の状況は「実際の」 PIC よりも少し奇妙ですが、それは関係ないと思います。