2016-03-24 21 views
9

BenStandart konumda olmayan çerçevelere nasıl bağlanır?

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

kullanarak /System/Library/PrivateFrameworks özel bir çerçeveye karşı bağlamak için çalıştı Ama bağlayıcı MultitouchSupport çerçeve bulunamadığını söylüyor. Ben de

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

ve dosya uzantısına sahip

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

, ama ikisi de işi çalıştı.

Standart olarak /System/Library/Frameworks konumunda olmayan çerçevelerle bağlantı kurmak mümkün mü?

+1

Ben osx' çerçevesinde 'aşina değilim, ama' println ("kargo eklemek çalıştı var:!

kullanarak bu her zamanki gibi bağlayabilirsiniz build.rs rustc-link-arama = native = {} ", some_dir);' build.rs'ınızda? – WiSaGaN

+0

Yanıt için teşekkürler. Ayrıca, derleme komut dosyasının sorunu çözmek için doğru yer olabileceğini düşündüm, ancak maalesef linker yapısındaki println ifadelerini görmezden geliyor gibi görünüyor. Yapımın gerçekte yürütüldüğünü ve çıkışının "kargo: rustc-link-search = native =/System/Library/PrivateFrameworks" olduğunu kontrol ettim. Ayrıca "/" kuyruğuna sahip bir sürümü denedim –

cevap

1

WiSaGaN'ın önerisinin çözüme oldukça yakın olduğunu öğrendim: build.rs'de search = framework kullanırsanız çalışır.

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

, WiSaGaN Teşekkürler: çözüm aşağıdaki build.rs kullanmak oldu!

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