2015-10-20 45 views
1

我想将一个箱子导入到我的库中,然后使用该箱子,就好像它是我的库中的一个模块。如果我这样做:如何将一个箱子作为子模块导入?

extern crate sdl2; 
pub use sdl2; 

这给了我一个错误,提示我用sdl2::*,但我不希望从箱子中的所有名称拖到我的图书馆,我希望他们解决作为一个子模块,例如:

my_library::sdl2::init() 

我也试过这样:

pub extern crate sdl2; 

,编译,但我不知道它做什么。但似乎并没有让我的图书馆公开访问这个箱子。

回答

1

可以在useextern crate使用重命名:

extern crate sdl2 as sdl2_; 
pub use sdl2_ as sdl2; 

我个人觉得如何做到这一点的stdx箱(这似乎被弃用/抛弃,不过,至少目前是这样)。

0

另一个解决方法:

extern crate sdl2; 
mod sdl2 { 
    pub use ::sdl2::*; 
} 

应该努力 - 虽然未经测试。