10

LLVM の Getting Started (Windows) サイトによると:

... Clang を使用して、ビットコードを出力したり、オブジェクト ファイルを直接出力したり、Visual Studio の link.exe を使用してリンクされた実行可能ファイルを出力したりできます。

Link.exeWindowsで を使用する必要があるのはなぜですか? さらに言えば、Mac/Linux では何が使われているのでしょうか? さらに下には次のように書かれています。

Compile the program to object code using the LLC code generator:
    C:\..> llc -filetype=obj hello.bc
Link to binary using Microsoft link:
    C:\..> link hello.obj -defaultlib:libcmt

LLC がその最後のステップを実行できないのはなぜですか? LLI は問題なく動作しているように見えるので、内部でlink.exe何らかの形で相互運用できると思います - なぜ LLC ができないのでしょうか?

4

2 に答える 2

12

LLVM のリンカを書いた人がいないからです。

そうするためのプロジェクトがあります (想像を絶する と呼ばれますlld) が、まだ準備ができていません。

詳細については、 http://lld.llvm.orgを参照してください。

Mac では、Apple のリンカーであるld.

Linux では、ほとんどの人が gnu リンカを使用します。ld

于 2013-01-14T05:20:58.323 に答える
5

MinGW-W64 の ld を試してください。そもそもclangを構築するために使用したVSツールの代わりに、llvmのclangで使用しています。

于 2013-03-04T14:02:19.087 に答える