我想链接test.ll
和libstdc++.a
在窗口操作系统中。
我有这样的简单测试 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
}
我成功编译test.ll
为test.obj
llc
。
现在我想test.exe
用lld
用不是 gcc, cl
我已经尝试过这个命令,但不工作......
lld -flavor link /entry:main /implib:libstdc++.a test.obj
它返回这个。
test.obj: undefined symbol: printf
error: link failed
我的 LLVM 版本是 4.0.0,lld 版本是 4.0.0
我应该使用 GCC 吗?请帮帮我。谢谢你。