【发布时间】:2017-11-16 14:33:36
【问题描述】:
我想在窗口操作系统中链接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。
现在我想用lld而不是gcc,cl来制作test.exe文件
我尝试过这个命令,但没有用...
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 吗?请帮帮我。谢谢。
【问题讨论】: