2016-03-24 13 views
9

私は標準の場所にないフレームワークとのリンク方法は?

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

を使用して/System/Library/PrivateFrameworksにプライベートフレームワークにリンクしようとしましたが、リンカはMultitouchSupportフレームワークが見つからなかったことを私に伝えます。私はまた、ファイル拡張子で

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

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

を試してみましたが、どちらも仕事。

/System/Library/Frameworksの標準ロケーションにないフレームワークとリンクすることは可能ですか?

+1

私は 'osx'フレームワークに慣れていないんだけど、あなたは'のprintlnを追加しようとしました(「貨物:!rustcリンク検索= native = {} "、some_dir);'あなたの 'build.rs'で? – WiSaGaN

+0

お返事ありがとうございます。私はまた、ビルドスクリプトが問題を解決する適切な場所かもしれないと思ったが、残念ながらリンカーはビルドrsのprintlnステートメントを無視するようだ。私はbuild.rsが実際に実行され、出力が "cargo:rustc-link-search = native =/System/Library/PrivateFrameworks"であることを確認しました。私はまた、テーリング "/" –

答えて

1

私は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")] 
関連する問題