16

Clangにはどのリンカーを使用しますか?

リンカーとしてClangまたはGNUリンカーld)を使用すると、標準ライブラリにリンクしていないかのように大量のエラーが発生します。

g++ $(OBJS) -o $(BINDIR)/obtap

Clangオブジェクトをリンクするにはg++を使用する必要があるようです。

4

3 に答える 3

26

「clang++」の代わりに「clang」を実行していました。つまり、C++標準ライブラリをリンクしていませんでした。

于 2011-12-09T06:36:41.953 に答える
4

llvmのリンクエディタを使用する必要はありません。技術的な詳細には触れないようにしますが、要するに、現時点でClangを使用するには、一般的なUnixリンクエディターを使用できるようにする必要があります(GNUldまたはSunldを参照)。llvm-ldでさえ、基盤となるプラットフォームのリンカーを使用してネイティブバイナリをリンクします。

于 2010-10-30T00:33:51.783 に答える
4

フォローアップ:2016年になり、llvmは独自のリンカーで着実な進歩を遂げました。それは「lld」と呼ばれ、ウェブサイトはここにあります。 i386およびx86_64バイナリを作成することは問題なく機能しますが、他のシステムを対象とする作業は進行中です。

これにより、十分に安定していると見なされると、BSD用のGNUツールへの依存がなくなるはずです。

于 2016-01-15T16:00:55.847 に答える