ld
最近、私はOS Xに取り組んでいます。どういうわけか私のシステムに接続され、現在gcc
は使用されなくなるまで、物事はしばらくの間かなり桃色になりましたdyld
。さらに、私の共有ライブラリはすべて*.dylib
フォーマットされており、ldはその存在を頑固に無視しています。からmv
ldを実行するPATH
と、gccはldが見つからないと文句を言います。
gccを軌道に戻し、本来あるべきものを使用するのを手伝ってください。
いくつかのgccオプションを試すことができます。マニュアルページから:
-cソースファイルをコンパイルまたはアセンブルしますが、リンクはしません。リンク ステージは単純に行われていません。最終的な出力は、 各ソースファイルのオブジェクトファイル。
次に、必要なリンカーを使用して明示的にリンクできます。
ldをdyldにシンボリックリンクするのに役立ちますか?
mv /usr/bin/ld /usr/bin/ld.old
ln -s /usr/bin/dyld /usr/bin/ld
編集:ldパラメータの順序を修正
これはあなたの正確な質問ではありませんが、私はに切り替える必要がありましたld.gold
、そしてそのために、-fuse-ld=gold
gccへのオプションは非常に役に立ちました。
-Xlinker
オプションを見てください
私はそれをman gcc
次のような詳細なオプションを使用して再確認できます-v