首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么最后一个平台特定的依赖项在货物中优先?

为什么最后一个平台特定的依赖项在货物中优先?
EN

Stack Overflow用户
提问于 2016-09-26 18:08:52
回答 1查看 882关注 0票数 11

我的货文件中有一个依赖项,需要根据平台不同,特别是默认特性。我想做的是:

代码语言:javascript
复制
[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 }

但这似乎做不到我想做的事。在我的Mac上,它似乎在使用底线目标行,就好像我刚刚指定了hyper = "0.9"。如果我按指定的方式执行cargo build,则会得到与openssl有关的错误:

cargo:warning=#include

但是,如果我像这样构建它:

代码语言:javascript
复制
[dependencies]
hyper = { version = "0.9", default-features = false, features = ["security-framework"] }

那它就能造得很好。这表明"macos“的cfg不起作用。

我如何使这一工作,或更具体地说,如何解决问题,我需要我的依赖使用不同的功能平台?

EN

回答 1

Stack Overflow用户

发布于 2016-12-02 03:35:09

看起来这是不可能的锈蚀1.13.0和货物0.13.0-夜间。参见货物问题三一九五1197

作为一种解决办法,您可以使用告诉货物使用国产OpenSSL

代码语言:javascript
复制
export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib
export DEP_OPENSSL_INCLUDE=`brew --prefix openssl`/include
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39709542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档