首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solana Rust智能合约生成错误:生成失败

Solana Rust智能合约生成错误:生成失败
EN

Stack Overflow用户
提问于 2021-11-17 21:43:53
回答 1查看 308关注 0票数 0

我是一个初学者Solana/Rust开发人员。作为我的第一个Solana项目,我建立了薄荷NFT合同。然后我想部署合同。因此,为了获得编译后的输出.so文件,我确实运行了:cargo build,但得到了这个错误:

代码语言:javascript
复制
warning: cc: warning: src/main.rs: linker input file unused because linking not done
warning: ar: /home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/src/main.o: No such file or directory

error: failed to run custom build command for `solana-nft v0.1.0 (/home/rango/my_tasks/mintdropz/solana-nft-contract)`

Caused by:
  process didn't exit successfully: `/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-cbb36a23539fa380/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=src/main.rs
  TARGET = Some("x86_64-unknown-linux-gnu")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_x86_64-unknown-linux-gnu = None
  CC_x86_64_unknown_linux_gnu = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-unknown-linux-gnu = None
  CFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-o" "/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/src/main.o" "-c" "src/main.rs"
  cargo:warning=cc: warning: src/main.rs: linker input file unused because linking not done
  exit status: 0
  AR_x86_64-unknown-linux-gnu = None
  AR_x86_64_unknown_linux_gnu = None
  HOST_AR = None
  AR = None
  running: "ar" "cq" "/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/libhello.a" "/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/src/main.o"
  cargo:warning=ar: /home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/src/main.o: No such file or directory
  exit status: 1

  --- stderr


  error occurred: Command "ar" "cq" "/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/libhello.a" "/home/rango/my_tasks/mintdropz/solana-nft-contract/target/debug/build/solana-nft-7f2fc6a536921641/out/src/main.o" with args "ar" did not execute successfully (status code exit status: 1).


warning: build failed, waiting for other jobs to finish...
error: build failed

这是build.rs文件:

代码语言:javascript
复制
// Example custom build script.
fn main() {
  // Tell Cargo that if the given file changes, to rerun this build script.
  println!("cargo:rerun-if-changed=src/main.rs");
  // Use the `cc` crate to build a C file and statically link it.
  cc::Build::new()
    .file("src/main.rs")
    .compile("hello");
}

这是Cargo.toml文件:

代码语言:javascript
复制
[package]
name = "solana-nft"
version = "0.1.0"
edition = "2018"

[dependencies]
solana-client = "1.7.8"
solana-sdk = "1.7.8"
spl-token = { version = "3.2.0", features = [ "no-entrypoint" ] }
rand = "0.8.4"
solana-program = "1.7.11"
spl-token-metadata = "0.0.1"
openssl = { version = "0.10", features = ["vendored"] }

[build-dependencies]
cc = "1.0"
bindgen = "0.53.1"

我使用的是ubuntu 18.04,cargo 1.56.0。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-11-18 11:45:53

如果您正在尝试构建一个Rust Solana程序(例如,智能合约),那么您只需要通过LLVM将程序编译为BPF时使用cargo build-bpf,这就是部署在Solana上的程序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70011947

复制
相关文章

相似问题

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