如何链接不在标准位置的框架?

时间:2016-03-24 13:19:52

标签: macos rust

我尝试使用

链接/System/Library/PrivateFrameworks中的私有框架
#[link(name = "MultitouchSupport", kind = "framework")]

但链接器告诉我找不到MultitouchSupport框架。我也试过

#[link(name = "/System/Library/PrivateFrameworks/MultitouchSupport", kind = "framework")]

#[link(name = "/System/Library/PrivateFrameworks/MultitouchSupport.framework", kind = "framework")]

使用文件扩展名,但都不起作用。

是否可以链接到不在/System/Library/Frameworks标准位置的框架?

1 个答案:

答案 0 :(得分:3)

我发现WiSaGaN的建议与解决方案非常接近:如果你在build.rs中使用search = framework,它就有效。 解决方案是使用以下build.rs:

fn main()
{
    println!("cargo:rustc-link-search=framework={}", "/System/Library/PrivateFrameworks");
}

谢谢你,WiSaGaN!

使用此build.rs,您可以照常链接:

#[link(name = "MultitouchSupport", kind = "framework")]