有没有办法让Rust将SDL2 iOS库添加到我自己的库中?

时间:2017-06-06 08:55:28

标签: ios rust sdl-2

我有一个用Rust制作的小项目,它使用rust-sdl2来管理窗口,图形等......它非常简单,因为它只显示一个窗口并清除它。

它在macOS上工作正常,我也试图让它在iOS上运行。我设法使用cargo build --no-default-features --target x86_64-apple-ios --lib为模拟器编译库,我可以看到生成的dylib和.a。

我在Xcode中创建了一个新的iOS项目,并将该库添加到项目中。我还确保使用#[no_mangle]标记要呼叫的功能,并添加了extern "C"前缀。

我在主视图控制器中做了类似的事情(我知道它是错误的地方,因为我应该实际替换main.m文件并让SDL2管理整个应用程序生命周期,但我会到达那里后):

extern void run_loop();

- (void)viewDidLoad {
  [super viewDidLoad];
  run_loop();
}

我还将生成的库的路径添加到项目的库搜索路径中。

当我编译它时一切都很好,但链接器抱怨它无法找到SDL2库。这是有道理的,因为我不包括这些库的iOS版本。关键是,有没有办法让Rust在我自己的库中添加SDL2 iOS库,这样我就不需要携带更多的依赖项了,还是应该手动编译iOS版SDL2并将它们添加到项目中? / p>

0 个答案:

没有答案