मेरे पास मेरी कार्गो फ़ाइल में निर्भरता है जिसे प्लेटफार्म, विशेष रूप से, डिफ़ॉल्ट सुविधाओं से अलग होना चाहिए। यहां मैं जो करने की कोशिश कर रहा हूं:अंतिम प्लेटफ़ॉर्म-विशिष्ट निर्भरता कार्गो में प्राथमिकता क्यों लेती है?
[package]
name = "..blah.."
version = "..blah.."
authors = ["..blah.."]
[target.'cfg(target_os = "macos")'.dependencies]
hyper = { version = "0.9", default-features = false, features = ["security-framework"] }
[target.'cfg(target_os = "linux")'.dependencies]
hyper = { version = "0.9", default-features = true }
लेकिन ऐसा लगता है कि मैं जो चाहता हूं वह ऐसा नहीं लगता है। मेरे मैक पर यह नीचे लक्ष्य रेखा का उपयोग कर रहा है जैसे कि मैंने अभी hyper = "0.9"
निर्दिष्ट किया है। अगर मैं cargo build
निर्दिष्ट के रूप में, मैं त्रुटियों openssl के संबंध में मिलता है:
माल: चेतावनी = #, शामिल <openssl/ssl.h>
लेकिन अगर मैं इसे इस तरह का निर्माण:
[dependencies]
hyper = { version = "0.9", default-features = false, features = ["security-framework"] }
फिर यह ठीक बनाता है। यह मुझे इंगित करता है कि "मैकोज़" के लिए cfg
काम नहीं कर रहा है।
मैं यह काम कैसे कर सकता हूं, या अधिक विशेष रूप से, मैं समस्या को कैसे हल करूं जहां मुझे मंच द्वारा विभिन्न सुविधाओं का उपयोग करने की निर्भरता की आवश्यकता है?
क्यों नहीं http://stackoverflow.com/q/29854912/155423 का डुप्लिकेट है? – Shepmaster
मुझे लगता है कि यह एक डुप्लिकेट नहीं है क्योंकि उपरोक्त वाक्यविन्यास [यूनिट परीक्षण] (https://github.com/rust-lang/cargo/blob/master/tests/cfg.rs) में उदाहरणों से मेल खाता है और [ प्रतिबद्ध] (https://github.com/rust-lang/cargo/pull/2328/commits/f5d786e05600720ba4671caf5b598624103c8f72)। – wimh
@ शेमपस्टर सिद्धांत में अच्छी तरह से वे एक ही समस्या को हल करने की कोशिश कर रहे हैं, इसलिए मुझे लगता है कि मेरा सवाल यह है कि "मेरी कार्गो फ़ाइल निर्भरता के लिए सही कॉन्फ़िगरेशन का चयन क्यों नहीं कर रही है"। – vcsjones