Ich habe eine Abhängigkeit in meiner Cargo-Datei, die von Plattform, speziell die Standardfunktionen unterschiedlich sein muss. Hier ist, was ich versuche zu tun:Warum hat die letzte plattformspezifische Abhängigkeit in Cargo Vorrang?
Aber das scheint nicht zu tun, was ich will. Auf meinem Mac scheint es die untere Ziellinie zu verwenden, als ob ich gerade hyper = "0.9"
angegeben hätte. Wenn ich cargo build
wie angegeben, ich Fehler in Bezug auf OpenSSL erhalten:
Ladung: Warnung = # include <openssl/ssl.h>
Allerdings, wenn ich es so bauen:
[dependencies]
hyper = { version = "0.9", default-features = false, features = ["security-framework"] }
Dann baut es gut. Dies zeigt mir, dass die cfg
für "Macos" nicht funktioniert.
Wie mache ich das, oder genauer gesagt, wie löse ich das Problem, wo ich meine Abhängigkeit brauche, um verschiedene Funktionen pro Plattform zu nutzen?
Warum sind das kein Duplikat http://stackoverflow.com/q/29854912/155423? – Shepmaster
Ich denke, es ist kein Duplikat, weil die obige Syntax den Beispielen in [unit tests] (https://github.com/rust-lang/cargo/blob/master/tests/cfg.rs) und [ commit] (https://github.com/rust-lang/cargo/pull/2328/commits/f5d786e05600720ba4671caf5b598624103c8f72). – wimh
@Shempmaster gut in der Theorie versuchen sie, das gleiche Problem zu lösen, also nehme ich an meine Frage ist dann "Warum ist nicht meine Cargo-Datei die richtige Konfiguration für eine Abhängigkeit auswählen". – vcsjones