ウィンドウOSにtest.ll
とlibstdc++.a
をリンクします。llvm lldを使用してlibstdC++をリンクする方法
私はこのような簡単なテストIRコードを持っています。
@.str = internal constant [14 x i8] c"hello, world\0A\00"
declare i32 @printf(i8*, ...)
define i32 @main(i32 %argc, i8** %argv) nounwind {
entry:
%tmp1 = getelementptr [14 x i8], [14 x i8]* @.str, i32 0, i32 0
%tmp2 = call i32 (i8*, ...) @printf(i8* %tmp1) nounwind
ret i32 0
}
私はllc
でtest.obj
にtest.ll
をコンパイルsuccessed。
今、私はlld
ないGCCとのtest.exe
ファイルを作りたい、CL
I`veは
lld -flavor link /entry:main /implib:libstdc++.a test.obj
...このコマンドを実行してくださいが、仕事をdosen'tそれは、これを返します。
test.obj: undefined symbol: printf
error: link failed
マイLLVMのバージョンは4.0.0で、LLDのバージョン私はGCCを使用Shoud 4.0.0
のですか?お願い助けて。ありがとうございました。
ありがとうございました!私はそれを行います。 – SilverJun