2 つの Linux 静的ライブラリがあります。
それらは完全に別々にコンパイルされ、異なる名前を持ち、それらが公開する API は異なりますが、ビルド元の C ファイルは同じ名前を使用するため、ライブラリを構成するオブジェクト ファイルは同じ名前になります。
それらのライブラリに対してリンクする場合、関数名は一意ですが、オブジェクト名が同じであるため、リンクに問題はありますか?
.o
(オブジェクト) ファイルの名前は関係ありません。外部関数/オブジェクト (「オブジェクト ファイル」の意味ではなく、C のオブジェクトの意味) を重複した名前で定義しない限り、問題ありません。
静的ライブラリが同じファイル名を持つことに問題はありません。あいまいさを避けるために、絶対ファイル パスを使用してそれらをリンクすることができます。共通のシンボル名 (つまり、同じ名前のエクスポートされた関数または変数) がない限り、問題ありません。
とはいえ、同じ名前のライブラリを 2 つ持つことは、混乱と将来の大惨事のレシピです。これらのライブラリを動的にリンクすることにした場合、事態が複雑になることは言うまでもありません。
私があなたなら、プロジェクト管理レベルでこの名前の競合を解決するための可能な解決策を調査します。おそらく、2 つのうちの 1 つは最小限の手間で名前を変更できますか?