无法使用货唇版本构建库。
我试图制作一个跨平台库,使用锈蚀作为ios目标。我正在关注这篇文章(在iOS上构建和部署一个锈蚀库)。*注:我遵循相同的步骤,我的项目结构也一样*
完成代码和项目设置后,最后一步是构建库。当我试图使用cargo lipo --release构建库时。它抛出此错误:
[ERROR cargo_lipo] No library target found for "my-project-name"
另外,请注意,我只能为两个平台安装支持。(aarch64-apple-ios和x86_64-apple-darwin)。我认为原因是他们有放弃对32位体系结构的支持。。
所以,当我运行rustup target add aarch64-apple-ios armv7-apple-ios armv7s-apple-ios x86_64-apple-ios i386-apple-ios时。
它抛出错误:error: component 'rust-std' for target 'armv7-apple-ios' is unavailable for download for channel stable
Cargo.toml
[package]
name = "rustylib"
version = "0.1.0"
edition = "2018"
crate-type = ["staticlib", "cdylib"]rustylib.rs
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
char *hello(const char *to);
void hello_release(char *s);项目结构的其余部分是通常的生锈代码。
rustup输出
默认主机:x86_64-苹果-达尔文rustup主页: /Users/my-username/.rustup
已安装工具链
稳定-x86_64-苹果-达尔文
每晚-x86_64-苹果-达尔文(默认)
已安装的活动工具链目标
Aarch64苹果ios
X86_64苹果-达尔文
主动工具链
每晚-x86_64-苹果-达尔文(默认)
rustc 1.52.0-每晚(acca81892 2021-03-13)
OS & Rust
锈蚀: rustc 1.50.0 (cb75ad5db 2021-02-10)
操作系统: macOS Bug Sur (11.2.3)
Xcode和命令行工具: 12.4
发布于 2021-03-14 14:48:01
你的Cargo.toml是错的。
如果您查看您在问题中链接的指南,您可以看到,crate-type必须位于[lib]标记下面,如下所示:
[package]
name = "greetings"
version = "0.1.1"
authors = ["fluffyemily <fluffyemily@mozilla.com>"]
description = "Example static library project built for iOS"
publish = false
[lib]
name = "greetings"
crate-type = ["staticlib", "cdylib"]此外,在默认情况下,您的代码必须在cargo/src/lib.rs中,如文档中所述(而不是在rustylib.rs中)。
您可以从命令行运行cargo new rustylib --lib来创建所有样板,因此只需在Cargo.toml的[lib]部分中添加依赖项和crate-type。
编辑
我认为还有另一个问题:您在rustylib.rs文件中输入了C代码,无法工作。我认为您打算做的是创建C桥,在您所链接的指南中称为cargo/src/greetings.h。
https://stackoverflow.com/questions/66624556
复制相似问题