Rust静态库" unlinked native library"警告

时间:2014-05-12 19:42:35

标签: static-libraries rust

我正在使用Rust 0.11-pre编译一个简单的staticlib

#![crate_type = "staticlib"]
#[no_mangle]
pub extern "C" fn foo() {  
}

然后我用

编译
rustc foo.rs --crate-type="staticlib" -o foo.a

它工作正常,但我收到以下警告,我想知道如何解决它们

warning: unlinked native library: System
warning: unlinked native library: c
warning: unlinked native library: m

1 个答案:

答案 0 :(得分:1)

我正在研究别的东西,碰巧遇到了这个:我知道发生了什么。

Rust staticlib没有链接到其所有本机依赖项。在将staticlib链接到另一个程序时,您需要链接这些库,例如在Linux上,我必须编译gcc my_c_program.c -L . -lfoo -lc -lpthread -lm -ldl其中foo.a是Rust staticlib(在当前目录中),最后四个args是具有“未链接的本机库”警告的库(严格来说{ {1}}是不必要的,因为C编译器默认链接libc。